GPU hiện đại có chứa bộ chuyển thùng không?


8

Tôi biết rằng hầu hết các GPU hiện đại, mặc dù được thiết kế cho điểm nổi, ít nhiều tương đương với hiệu suất số nguyên ngày nay, với một vài cảnh báo như thiếu phần bổ sung nhân được hợp nhất. Tôi không chắc làm thế nào điều này áp dụng cho các hoạt động thay đổi mặc dù. Tôi đang thực hiện Marching Cubes trên GPU, ban đầu viết ra một vị trí đóng gói 32 bit cho mỗi khối bề mặt sau đó giải nén chúng trong một lần sau để chuyển đến các đỉnh thực tế trong khối đó, như sau:

ivec3 unpackedPos = ivec3( packedPos >> 20 & 0x3FF,
                         packedPos >> 10 & 0x3FF,
                         packedPos & 0x3FF);

Nó chỉ xảy ra với tôi để tự hỏi nếu các đơn vị shader có người thay đổi thùng trong những ngày này? Tôi đang làm 2 ca ở đây hay 30?

EDIT >> Tôi là một thằng ngốc ... Cảm ơn những người trả lời, rất hữu ích khi biết, nhưng tôi đã sai về điều này. Tôi chỉ nên sử dụng định dạng kết cấu RGB10_A2UI sau đó đóng gói / giải nén với một lệnh tải / lưu trữ hình ảnh duy nhất thay vì tự loay hoay với bithifts.

RE_EDIT >> Hoặc không ... Phương pháp này rõ ràng hoạt động trên các hộp màu đỏ nhưng không phải trên các hộp màu xanh lá cây, vì vậy nó trở lại với dịch chuyển bit.


Bộ dịch chuyển 24 bit được sử dụng trong điểm nổi chính xác duy nhất để căn chỉnh mantissas, vì vậy trình biên dịch có thể tạo ra một số ít, nhưng tôi không nghĩ bạn sẽ thấy 30.
Daniel M Gessel

Câu trả lời:


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.