PatrickvL
d74e5947ee
Refactor vertex shader microcode conversion to intermediate isntructions, fixing pairing bugs like ignore MAC R1 writes
2019-12-18 20:12:20 +01:00
PatrickvL
50a51657b0
Force A0's X mask during decoding (in VshAddInstructionMAC_ARL) instead of HLSL conversion (in OutputHlsl)
...
Also applied Unix EOL style (again)
2019-12-18 20:12:20 +01:00
Anthony Miles
619b276d81
Generate more accurate viewport values, so we can reverse transforms in the vertex shader more generally
2019-12-18 20:12:19 +01:00
Anthony Miles
5d2ef854fb
Remove popups about register usage, now that HLSL is used
2019-12-18 20:12:19 +01:00
Anthony Miles
b9db301791
Add LOG_TEST_CASE for writes to constants
2019-12-18 20:12:19 +01:00
Anthony Miles
136083d72a
SetVertexData4f support
2019-12-18 20:12:19 +01:00
patrickvl
ba5d25e2ed
Only disassemble HLSL under debug log level
...
Fix arl by forcing .x mask on a0 parameter
2019-12-18 20:12:19 +01:00
patrickvl
b330198fe6
Reorder vertex shader code
2019-12-18 20:12:19 +01:00
patrickvl
1365d2e7e1
Vertex shader HLSL : More commenting, reordering, renaming and fixing
2019-12-18 20:12:18 +01:00
patrickvl
cb95bbb46f
Make sure HLSL scalar outputs are replicated
2019-12-18 20:12:17 +01:00
patrickvl
a0de74ffd9
Make sure all HLSL parameters regardless their swizzle, are cast to float4 before the actual calculation commences
2019-12-18 20:12:17 +01:00
patrickvl
8ed16b9f5a
Reorder vertex shader decoding code
2019-12-18 20:12:15 +01:00
PatrickvL
07ceaf96d5
Avoid all implicit typecast warnings, by casting all HSLS calculations to a float4, and apply the output mask to that as well
2019-12-18 20:12:15 +01:00
PatrickvL
339af7b500
Pass mask as argument into the opcode defines.
...
Also fixed a few HLSL issues that crept in the previous commit
2019-12-18 20:12:15 +01:00
PatrickvL
5b2ff4e278
Simpler determination of used parameters per opcode
2019-12-18 20:12:14 +01:00
PatrickvL
127e51302e
Wrap (or replace) HLSL functions with defines, so that destination swizzles work as expected without too much syntax deviation.
...
Also adjusted a few hlshl functions to be more accurate
2019-12-18 20:12:14 +01:00
PatrickvL
46fbfad52d
Remove assembly version and replace regex with dedicated streaming
2019-12-18 20:12:14 +01:00
PatrickvL
c039562e7f
Reformat HLSL code
...
Prefer HLSL functions over #defines
Avoid implicit conversion warnings in HLSL template code
Move scalar W selection towards HLSL helper function
Apply scalar component fixup after instead of before conversion to HLSL
2019-12-18 20:12:14 +01:00
Anthony Miles
200b7c493e
Use log2, exp2
2019-12-18 20:12:14 +01:00
Anthony Miles
bd55f17f0d
- Move ILU ops together
...
- Some ops use the .w component by default. Ensure they will use w instead of x, if the default xyzw swizzle was used
2019-12-18 20:12:14 +01:00
Anthony Miles
59c8ee936f
Add line numbers to shader debug
2019-12-18 20:12:14 +01:00
Anthony Miles
05f1f90603
fixup texcoord comments
2019-12-18 20:12:13 +01:00
Anthony Miles
b61bfd32af
- Use MAC defines, remove functions
...
- Fix truncation compiler warning in x_dp3
2019-12-18 20:12:12 +01:00
Anthony Miles
eaa7bbca41
At debug log level, log shader warnings even if the shader compiled
2019-12-18 20:12:12 +01:00
PatrickvL
a9d3b5cdde
Better hlsl consistency
2019-12-18 20:12:12 +01:00
PatrickvL
c1ba533455
Include the hlsl code as a raw string
...
Make all Xbox VSh opcodes consistent (using an x_ function or macro)
Replace switch statements with table lookups, making the code much more compact
2019-12-18 20:12:11 +01:00
Anthony Miles
e372a80a8d
Workaround bad masks on single component outputs
2019-12-18 20:12:09 +01:00
Anthony Miles
a258d5d759
file location hack
2019-12-18 20:12:09 +01:00
Anthony Miles
5d21af8a0e
Implement more HLSL functions
2019-12-18 20:12:09 +01:00
Luke Usher
19f0affd21
Negate Screen Space Transforms instead of deleting from shader
2019-12-18 20:12:08 +01:00
Anthony Miles
fd1555535e
HACK
...
Get HLSL compiling
2019-12-18 20:12:08 +01:00
Anthony Miles
8382adfaab
fixup dp3, dph
2019-12-18 20:12:08 +01:00
Anthony Miles
620c98da80
Interpret r12 as oPos
2019-12-18 20:12:08 +01:00
Anthony Miles
2102bffee2
Ensure dp3 and dph use float3 dot products
2019-12-18 20:12:08 +01:00
Anthony Miles
551516a52a
fix typo
2019-12-18 20:12:08 +01:00
Anthony Miles
65f6ff3497
fix missing bracket
2019-12-18 20:12:08 +01:00
Anthony Miles
c3fbc46b7c
c() bounds check
2019-12-18 20:12:07 +01:00
Anthony Miles
ef3b5d7217
Fix bias typo
2019-12-18 20:12:07 +01:00
Anthony Miles
650174ea83
- Reverse screenspace transform properly
...
- Move Xbox variable 'a' inside main
- Fix rcc reversed clamp
2019-12-18 20:12:07 +01:00
Anthony Miles
780cb6c578
fix rcc typo
2019-12-18 20:12:07 +01:00
Anthony Miles
504b8ddba6
Fix swizzle behaviour
2019-12-18 20:12:06 +01:00
Anthony Miles
b24ea2309c
Fix HLSL debug logging
2019-12-18 20:12:05 +01:00
Anthony Miles
3cd2f73332
Apply scaling hack
2019-12-18 20:12:05 +01:00
Anthony Miles
c6242b798c
remove junk files
2019-12-18 20:12:03 +01:00
Anthony Miles
21712cb4de
Implement remaining xbox functions
2019-12-18 20:12:03 +01:00
Anthony Miles
389e50a570
more hlsl
2019-12-18 20:12:03 +01:00
Anthony Miles
da6fc5f35c
TMP more stuff
2019-12-18 20:12:02 +01:00
Anthony Miles
62015b1499
initial
2019-12-18 20:12:02 +01:00
PatrickvL
18a630bb78
Merge pull request #1800 from LukeUsher/half-life-2-hack
...
Fix when titles attempt to find the XBEH header in memory
2019-12-17 22:28:34 +01:00
Luke Usher
be42ab7a0f
Nasty hack to fix hl2 crash during switch to ingame
2019-12-17 19:45:30 +00:00