You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Elements of arrays, structs, StructuredBuffers, and ByteAddressBuffers.
Parameters and return types of non-entry functions.
Stored in groupshared memory.
Static global variables.
Local function scoped variables.
This task is to allow declaring vectors of size greater than 4 using the template declaration in all of the above. In addition, they should be assignable, initializable, and castable in ways consistent with existing vectors using splatted scalars, initializer lists, constructors, and casted arrays. The best way to test this is probably a library shader since that allows exporting non-entry functions which allows parameters to be used to verify the assignment operations.
pow2clk
changed the title
declaring long vectors in the various contexts it is supported
Support long vectors in the contexts it is supported
Feb 4, 2025
pow2clk
changed the title
Support long vectors in the contexts it is supported
Support long vector declaration in supported contexts
Feb 4, 2025
pow2clk
changed the title
Support long vector declaration in supported contexts
Support long vector declaration and assignment
Feb 4, 2025
pow2clk
changed the title
Support long vector declaration and assignment
Support long vector declaration, casting, and assignment
Feb 4, 2025
pow2clk
changed the title
Support long vector declaration, casting, and assignment
[SM6.9] Support long vector declaration, casting, and assignment
Feb 4, 2025
Remove errors in Sema diagnostics for vectors longer than 4 in 6.9.
Test for failures using long vectors in unspported contexts and for correct codegen in
supported contexts. Verify errors persist in pre-6.9 shader models
The type buffer cache expects a max vector size of 4. By just skipping the cache for longer vectors, we don't overrun and store float7 vectors in the double3 slot or retrieve the double3 in place of float7.
Testing is for acceptance, mangling and basic copying that takes place
at the high level to ensure they are being accepted and recognized
correctly. The intent is not to tully test the passing of data as that
requires enabling vector operations to do properly. This test is used to
verify that these same constructs are disallowed in 6.8 and earlier.
A separate test verifies that disallowed contexts produce the
appropriate errors
Fixesmicrosoft#7117
Long vectors should be supported in
This task is to allow declaring vectors of size greater than 4 using the template declaration in all of the above. In addition, they should be assignable, initializable, and castable in ways consistent with existing vectors using splatted scalars, initializer lists, constructors, and casted arrays. The best way to test this is probably a library shader since that allows exporting non-entry functions which allows parameters to be used to verify the assignment operations.
Some example assignments:
The text was updated successfully, but these errors were encountered: