Alpyne
24dbcf8fd8
[dxso] Shared code for texbem and bem
2023-06-19 20:59:18 +01:00
Alpyne
404c984f9c
[dxso] Implement bem instruction
2023-06-19 20:59:18 +01:00
Joshua Ashton
c585ea251e
[dxso] Respect all PS input elements for registers
...
Fixes shadows in Test Drive Unlimited 2.
Closes : #3469
2023-06-02 23:12:22 +02:00
Robin Kertels
4b10846008
[dxso] Fix RT mask for SM1
2023-05-26 04:28:49 +01:00
Philip Rebohle
4a30933359
[dxvk] Add UBO set property to descriptor info
...
Used to explicitly propagate storage buffer bindings
to the respective UBO set.
2023-01-15 15:36:05 +01:00
Philip Rebohle
0342a25e61
[d3d9,dxso] Add d3d9.forceSampleRateShading option
2023-01-09 18:35:02 +01:00
Georg Lehmann
6fe96d7d82
[dxso] Support clamping Dref.
2022-09-26 21:39:51 +01:00
Georg Lehmann
7552cfe62a
[dxso] Always lower projection
2022-09-26 21:39:51 +01:00
Michał Pyrzowski
82ebc29e18
[dxso] Fix for illegal OpCompositeConstruct while translating Crs opcode
...
During the translation of the Crs opcode to SPIR-V there is an assumption that the result type is a composite type. This is not always true. If the result is a scalar type the translation adds an OpCompositeConstruct with a scalar result type. This is a spec violation.
This change checks if the result type is a composite type and does not add the OpCompositeConstruct in case of scalar types.
2022-09-21 10:47:16 +00:00
Robin Kertels
5962be44c6
[dxso] Define color inputs as centroids on SM3 too
2022-09-19 15:10:43 +01:00
Georg Lehmann
18a801de84
[dxso] Use a * (y - x) + x for lerp.
...
Fixes Alice: Madness Returns.
2022-09-13 23:10:11 +01:00
Joshua Ashton
99e01d64f7
[dxso] Make fallthrough for extra params explicit
2022-09-10 21:46:07 +00:00
Georg Lehmann
87b1f9fa2d
[dxso] Fix write mask for nrm
2022-08-23 00:38:04 +02:00
Philip Rebohle
76ee76d6da
[d3d9,dxso] Use DemoteToHelperInvocation for alpha test
...
May enable additional compiler optimizations.
2022-08-19 14:49:18 +00:00
Philip Rebohle
2d92679cd1
[dxso] Remove fallback path for discards
2022-08-19 13:36:54 +00:00
Georg Lehmann
155944c2b4
[dxso] normalize 0 to 0 with strict float emulation
2022-08-19 13:36:14 +00:00
Philip Rebohle
a695644fea
[d3d9] Remove alphaTestWiggleRoom option
2022-08-18 00:10:39 +02:00
Philip Rebohle
47fa3824dc
[d3d9] Re-implement alpha test to support configurable accuracy
...
The current implementation always uses 12 bits of accuracy.
2022-08-18 00:10:39 +02:00
Philip Rebohle
2c713a34c9
[d3d9,dxso] Factor out common alpha test code
2022-08-18 00:10:39 +02:00
Philip Rebohle
8f1024c094
[d3d9] Use new flat shading state for DXSO shaders
2022-08-08 13:34:59 +02:00
Georg Lehmann
135b8a0e53
[dxso] Setup spec ubo for pixel shaders
2022-08-06 12:35:23 +02:00
Joshua Ashton
65da0da954
[d3d9] Support for graphics pipeline libraries
2022-08-06 01:20:22 +00:00
Philip Rebohle
d498551a23
[dxso] Add bit selectors to D3D9ShaderSpecConstantManager
...
Avoids doing double bitfield extractions which isn't
optimized right now.
2022-08-05 19:31:02 +01:00
Joshua Ashton
9619377723
[dxso] Convert opIEqual 1 -> opINotEqual 0
...
Better chance of getting optimized
2022-08-05 19:31:02 +01:00
Joshua Ashton
b2cbf198e4
[d3d9, dxso] Refactor spec constants to use a bitfield layout
...
This allows us to use the same information to dump into a push constant for unoptimized pipelines.
2022-08-05 19:31:02 +01:00
Joshua Ashton
438ae5cdfc
[dxso] Fix getting sampler type of vertex textures
...
Fixes: c7afe0dd23
2022-08-05 19:31:02 +01:00
Philip Rebohle
54f989b2e6
[dxso] Introduce getSpecConstantBufferSlot
2022-07-31 02:10:37 +01:00
Philip Rebohle
db786cda6c
[dxvk] Remove old code to process specialization constants
...
We barely use spec constants anymore, so a much simpler solution will do.
2022-07-31 02:53:20 +02:00
Philip Rebohle
0eaad2eb5b
[dxso] Don't create shader object for redundant PS permutations
2022-07-30 22:15:41 +01:00
Philip Rebohle
f15466a2c5
[dxvk] Remove remaining built-in specialization constants
2022-07-17 17:06:42 +02:00
Philip Rebohle
320534cb34
[spirv] Automatically track interface variables
2022-07-15 16:10:16 +02:00
Philip Rebohle
f60bdcbcbf
[dxvk] Replace VK_EXT_shader_demote_to_helper_invocation with core feature
2022-07-14 21:21:34 +02:00
Philip Rebohle
131af0d677
[dxvk] Replace VK_KHR_driver_properties with core feature
2022-07-14 21:21:34 +02:00
Philip Rebohle
2774a04195
[dxvk] Use VkPhysicalDeviceVulkan11{Features,Properties} where appropriate
2022-07-14 21:21:34 +02:00
Philip Rebohle
c7afe0dd23
[dxso] Use new bit mask spec constant to determine whether textures are bound
2022-07-03 13:41:06 +02:00
Philip Rebohle
76ba03398d
[d3d9,dxso] Fix push constant validation errors
...
Derp.
2022-07-01 18:06:47 +02:00
Philip Rebohle
db07861518
[dxvk] Remove old pipeline layout implementation
2022-06-28 14:35:58 +02:00
Philip Rebohle
e795f3f33a
[dxso] Pass new binding info struct to shaders
2022-06-28 14:32:31 +02:00
Philip Rebohle
10bab0c182
[dxso] Use new DxvkShader constructor
2022-04-18 13:20:16 +02:00
Georg Lehmann
2550cff149
[build] Cleanup build system.
...
No changes except dropping support for msvc before 15.3.
2022-03-17 01:38:58 +00:00
Georg Lehmann
f1efc9dc9f
[dxso] Emit spirv OpCross if we can.
2022-03-16 19:13:09 +00:00
Georg Lehmann
630fee59fc
[dxso] Implement zerowins for Lerp.
...
Fixes #2545 .
2022-03-16 19:13:09 +00:00
Philip Rebohle
5d4c8a6b51
[dxso] Fix ExpP instruction on Shader Model 2+
2022-03-11 22:44:18 +00:00
Joshua Ashton
f4ab14cafa
[dxso] Fix potential fallthrough in RasterizerOut
2022-03-10 00:47:38 +01:00
Joshua Ashton
a5b0f2898a
[dxso] Fix ExpP fallthrough
2022-03-10 00:47:38 +01:00
Robin Kertels
6c17b8801c
[d3d9] Add strict option to float emulation setting
2021-12-05 16:49:19 +00:00
Philip Rebohle
11f8b8ba44
[dxso] Handle multiplication by zero when emitting clip distances
2021-12-05 16:49:19 +00:00
Philip Rebohle
337360cdc6
[dxso] Handle multiplication by zero in TexM*Tex instructions
2021-12-05 16:49:19 +00:00
Philip Rebohle
a9515d3530
[dxso] Handle multiplication by zero in matrix ALU instructions
2021-12-05 16:49:19 +00:00
Philip Rebohle
8063e27c08
[dxso] Handle multiplication by zero in cross product
2021-12-05 16:49:19 +00:00