vkd3d-shader/dxil: Implement the DXIL GEP and LOAD instructions.
Merge request reports
Activity
This needs spirv changes to make any tests pass, but this series is already long enough. Not sure what to do about initialisers; we can't use
DCL_IMMEDIATE_CONSTANT_BUFFER
because it emits a variable, and we are avoiding dropping things in the register structure. Theicb
objects the DXIL parser creates are currently not stored anywhere except the icb cache. Probably they should go in an array inshader_desc
. Any thoughts @hverbeet @giomasce? Maybe @zfigura already has code for that change?This needs spirv changes to make any tests pass, but this series is already long enough. Not sure what to do about initialisers; we can't use
DCL_IMMEDIATE_CONSTANT_BUFFER
because it emits a variable,Is the issue purely that the shader may write to the variable, or are there other reasons that can't work? If what we want is essentially a writeable icb, we could perhaps consider adding a "data[]" field to the vkd3d_shader_indexable_temp structure, analogous to struct vkd3d_shader_immediate_constant_buffer.
added 21 commits
-
91082179...b7480911 - 9 commits from branch
wine:master
- b7480911...7b0a1c2b - 2 earlier commits
- af57e2ed - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
- bec68657 - tests/shader-runner: Add tests for 64-bit casts.
- e03f3ba5 - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
- e9214453 - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().
- 49999e7c - vkd3d-shader: Delete unused struct list from struct vkd3d_shader_indexable_temp.
- 3332fec9 - vkd3d-shader/dxil: Implement default address space global variables.
- a6c43f12 - vkd3d-shader/dxil: Introduce a new value type for immediate constant buffers.
- 1cc3c787 - vkd3d-shader/dxil: Support global variable initialisers.
- 9911af04 - vkd3d-shader/dxil: Implement the DXIL GEP instruction.
- 530bf912 - vkd3d-shader/dxil: Implement the DXIL LOAD instruction.
Toggle commit list-
91082179...b7480911 - 9 commits from branch
added 12 commits
- 530bf912...77951a66 - 2 earlier commits
- 173331d9 - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
- 90e48b45 - tests/shader-runner: Add tests for 64-bit casts.
- 4b7234b3 - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
- ce72a18e - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().
- b41aa146 - vkd3d-shader: Delete unused struct list from struct vkd3d_shader_indexable_temp.
- 56c7f49c - vkd3d-shader/dxil: Implement default address space global variables.
- 5f63446b - vkd3d-shader/dxil: Introduce a new value type for immediate constant buffers.
- b1214539 - vkd3d-shader/dxil: Support global variable initialisers.
- 02ae293a - vkd3d-shader/dxil: Implement the DXIL GEP instruction.
- 13e145bf - vkd3d-shader/dxil: Implement the DXIL LOAD instruction.
Toggle commit listadded 5 commits
- 578745b9 - vkd3d-shader/dxil: Implement default address space global variables.
- 41ad6a7a - vkd3d-shader/dxil: Introduce a value type for immediate constant buffers.
- 4ce2c1c8 - vkd3d-shader/dxil: Support global variable initialisers.
- db893754 - vkd3d-shader/dxil: Implement the DXIL GEP instruction.
- a44b5523 - vkd3d-shader/dxil: Implement the DXIL LOAD instruction.
Toggle commit listadded 19 commits
-
a44b5523...88caf877 - 13 commits from branch
wine:master
- 2367c872 - vkd3d-shader: Delete unused struct list from struct vkd3d_shader_indexable_temp.
- 0e4c1685 - vkd3d-shader/dxil: Implement default address space global variables.
- da802338 - vkd3d-shader/dxil: Introduce a value type for immediate constant buffers.
- dfcfbc43 - vkd3d-shader/dxil: Support global variable initialisers.
- 47c62739 - vkd3d-shader/dxil: Implement the DXIL GEP instruction.
- 82f36647 - vkd3d-shader/dxil: Implement the DXIL LOAD instruction.
Toggle commit list-
a44b5523...88caf877 - 13 commits from branch
mentioned in merge request !477 (merged)
added 5 commits
- 253c55d0 - vkd3d-shader/dxil: Implement default address space global variables.
- ff832fca - vkd3d-shader/dxil: Introduce a value type for immediate constant buffers.
- 621a5b77 - vkd3d-shader/dxil: Support global variable initialisers.
- ac1fe0a7 - vkd3d-shader/dxil: Implement the DXIL GEP instruction.
- 3cea6c35 - vkd3d-shader/dxil: Implement the DXIL LOAD instruction.
Toggle commit list- Resolved by Giovanni Mascellani
- Resolved by Giovanni Mascellani
- Resolved by Giovanni Mascellani
- Resolved by Giovanni Mascellani
- Resolved by Giovanni Mascellani
- Resolved by Giovanni Mascellani
823 823 struct vkd3d_shader_register_index idx[3]; 824 824 unsigned int idx_count; 825 825 enum vsir_dimension dimension; 826 unsigned int alignment; added 5 commits
- 4a51d4e2 - vkd3d-shader/dxil: Implement default address space global variables.
- 0cba5c97 - vkd3d-shader/dxil: Introduce a value type for immediate constant buffers.
- 734b1f02 - vkd3d-shader/dxil: Support global variable initialisers.
- ec463b4b - vkd3d-shader/dxil: Implement the DXIL GEP instruction.
- cd4d5b7e - vkd3d-shader/dxil: Implement the DXIL LOAD instruction.
Toggle commit listadded 5 commits
- 5b40f09c - vkd3d-shader/dxil: Implement default address space global variables.
- 7cf0e7b4 - vkd3d-shader/dxil: Introduce a value type for immediate constant buffers.
- ae777c56 - vkd3d-shader/dxil: Support global variable initialisers.
- 8894402b - vkd3d-shader/dxil: Implement the DXIL GEP instruction.
- f3a6c738 - vkd3d-shader/dxil: Implement the DXIL LOAD instruction.
Toggle commit list