Commit Graph

618 Commits

Author SHA1 Message Date
Dr. Chat
cf41a84fe3 Fix broken check against bool constants
Fix always terminating execution in cexece branches (these are sometimes followed by exece branches)
2015-12-20 20:53:31 -06:00
Ben Vanik
826ea60890 gpu-trace-diff tool for running batches of diffs. 2015-12-13 16:59:43 -08:00
Ben Vanik
7419e7eb4a Trace dump tool, for dumping pngs (and in the future more stuff). 2015-12-13 11:59:14 -08:00
Ben Vanik
95b0ecf774 Sharing more of trace viewer code. 2015-12-13 11:22:47 -08:00
Ben Vanik
5db84105c4 Utilizing fallthrough for most shader CF, hopefully speeding things up. 2015-12-13 10:14:35 -08:00
Ben Vanik
b5469b57ba Moving temporary registers to exec blocks. ps may still need to be shared. 2015-12-07 22:57:28 -08:00
Ben Vanik
85b1797b9e Workaround for nvidia bug with dynamic local memory access. 2015-12-07 22:55:17 -08:00
Ben Vanik
ec113275dc Making texture swizzles dynamic. Seems to fix some color swap issues.
And probably exposes many more ;)
2015-12-07 22:39:33 -08:00
Ben Vanik
09022a6ad3 gl_FragCoord support. 2015-12-07 20:45:02 -08:00
Ben Vanik
1f773f14b3 Fixing vfetch_mini use. 2015-12-07 19:16:32 -08:00
Ben Vanik
522ff9d23e Alternate indirect buffer command. 2015-12-07 19:16:01 -08:00
Ben Vanik
ed0b97813a Loops in shaders (no TDRs! woo!). 2015-12-07 13:03:57 -08:00
Ben Vanik
367ca09f1d Don't duplicate vf bindings. 2015-12-07 13:03:35 -08:00
sephiroth99
f154b7ed59 Fix compilation error of translated GLSL shader.
Comparison of uvec2 and int is not possible, explicitly
use a zero-value uvec2.
2015-12-07 01:39:17 -05:00
Ben Vanik
280c0b35f6 Basic control flow skeleton and jumps implemented.
A-train's trees draw right now!
Helps a bit with #473 but still need to implement loops.
2015-12-06 11:44:22 -08:00
Ben Vanik
934b0d5bbc Marking unimplemented translations as non-fatal. 2015-12-06 11:01:04 -08:00
Ben Vanik
c86e479214 Replacing old Shader with TranslatedShader. 2015-12-06 10:36:07 -08:00
Ben Vanik
083f936bbc aL placeholder until loops are implemented. 2015-12-06 00:53:25 -08:00
Ben Vanik
51a8002629 Moving GL backend to new shader translator.
This seems to make a lot of things better, but may also break things.
Cleanup to follow.
2015-12-06 00:48:41 -08:00
Ben Vanik
2b3b423776 Mostly complete new GLSL translator (modulo flow control). 2015-12-05 17:44:06 -08:00
Ben Vanik
0058cae901 Adding pseudo code for all ucode ops from AMD docs. 2015-12-05 03:10:45 -08:00
Ben Vanik
cd50aac6d2 Skeleton SPIRV translator. 2015-11-29 19:45:55 -08:00
Ben Vanik
d2f7cc1602 Reworking translator code to be pretty sexy. 2015-11-29 16:55:42 -08:00
Ben Vanik
65130edaa1 First pass ShaderTranslator base type, able to disasm in msft style. 2015-11-28 16:19:04 -08:00
Ben Vanik
bea8870700 Shuffling old-style ucode.h under gl4. 2015-11-28 16:10:27 -08:00
Ben Vanik
71b9995448 Skeleton SPIRV shader translator. 2015-11-28 16:10:26 -08:00
raven02
44a1fa0c9c Fix distance vector 2015-11-28 13:17:29 +08:00
Ben Vanik
54215d9fb4 Write shader binaries with --dump_shaders and load them in the compiler. 2015-11-24 20:45:23 -08:00
Ben Vanik
89172da4b7 Unplumbing program_cntl and simplifying shader loading. 2015-11-24 20:24:35 -08:00
Ben Vanik
6a546ebe4d Shuffling spirv code so it's not tied to xe::gpu.
Will make it easier to use in standalone apps.
2015-11-24 19:49:05 -08:00
Ben Vanik
cf68d02142 Lots of cleanup in SpvEmitter. 2015-11-23 21:20:59 -08:00
Ben Vanik
a7f6c1a09c Prevent seeking while playing a trace. 2015-11-22 17:44:24 -08:00
Ben Vanik
e35fdff632 Porting glslang SPIRV stuff and cleaning some of it up. 2015-11-22 17:42:24 -08:00
Ben Vanik
1b1ff07bf5 Assembler/disassembler via SPIRV-Tools. 2015-11-22 17:42:23 -08:00
Ben Vanik
9072a38f38 Renaming spirv files so VS highlights them correctly. 2015-11-22 17:42:23 -08:00
Dr. Chat
414519fb6c Expose a playback percentage rather than pointers in TracePlayer 2015-11-22 11:36:31 -06:00
Dr. Chat
a59e83e0d0 Style 2015-11-22 10:15:50 -06:00
Dr. Chat
646db5b8be Disable controller UI while playing a trace 2015-11-22 09:54:25 -06:00
Dr. Chat
1078d21bd2 Stop resizing columns for the fetch constants 2015-11-21 22:37:24 -06:00
Dr. Chat
e565bafdab Prevent interaction with the command list UI while a trace is still playing 2015-11-21 22:29:47 -06:00
Dr. Chat
7c25795c05 Display texture guest address and swizzle information 2015-11-21 21:45:11 -06:00
Dr. Chat
7a1d7bd652 Display a progress bar while the command processor is playing a trace
- Masks a race condition in the texture cache b/t the UI thread and the GL4 command processor
2015-11-21 21:44:35 -06:00
Dr. Chat
7640448509 TracePlayer: Allow seeking forward more than one command 2015-11-21 21:42:24 -06:00
Dr. Chat
2a88225500 TracePlayer - Expose internal playback pointers 2015-11-21 21:41:41 -06:00
Ben Vanik
b750875e9d Fixing style. 2015-11-21 19:07:07 -08:00
Robert Dupuis
bdec7a063f Implemented REG_TO_MEM GPU opcode 2015-11-21 21:20:34 -05:00
Ben Vanik
add68c3743 spirv headers and compiler skeleton. 2015-11-21 11:22:24 -08:00
Dr. Chat
0f2f4ab9b6 Compress/decompress memory automatically in trace files 2015-11-20 17:12:13 -06:00
John Godgames
bcec142d3e Fixes DXT1 Alpha issues in certain games
https://www.opengl.org/wiki/S3_Texture_Compression#DXT1_with_1-bit_Alpha
2015-11-20 05:10:28 +01:00
Dr. Chat
9ff8aa96e7 Disable GL_CULL_FACES when drawing rectangle lists. 2015-11-17 22:20:43 -06:00