Commit Graph

2433 Commits

Author SHA1 Message Date
Dr. Chat
f8d9472872 TextureCache: Fix trying to erase a resolve texture that isn't in the resolve textures list. 2016-05-26 14:46:18 -05:00
Dr. Chat
c85756981b TextureCache: Fix a few null pointer bugs
Ordering of in-flight descriptor sets
Change staging buffer size
Free all samplers on exit
2016-05-25 19:55:50 -05:00
Dr. Chat
8611417219 Initialize rasterDiscardEnable to VK_FALSE 2016-05-25 17:45:38 -05:00
Dr. Chat
008167fa66 VK: Enable full rotation / Set render_state to nullptr on failure / Fix format info in texture resolves 2016-05-25 13:49:36 -05:00
Dr. Chat
9d1e66ab16 Don't write to color targets in depth-only mode. 2016-05-24 21:58:02 -05:00
Dr. Chat
5f764730ae Vulkan CP: Override frame traces if renderdoc is attached 2016-05-23 13:16:13 -05:00
Dr. Chat
7004f83665 CP: Don't check for shader validity here
Fix a lousy typo in PrepareTextureSet
2016-05-22 20:08:35 -05:00
Dr. Chat
bd27835a3d Pipeline Cache: Translate shaders when program cntl register is available 2016-05-22 20:03:13 -05:00
Dr. Chat
d1b4d61b52 SPIR-V: Use the register count from the program control register
Workaround for broken OpBitFieldUExtract on NVIDIA drivers
kRcpc/kRcpf/kRsqc/kRsqf
Fix broken ps_ usage
2016-05-22 20:01:42 -05:00
Dr. Chat
d94ff6eb25 Shaders: Track the register count from the program control register (if available) 2016-05-22 19:58:50 -05:00
Dr. Chat
1faf5a813a Fix ALU scalar swizzles (Possibly) 2016-05-22 19:57:05 -05:00
Dr. Chat
b025790207 Disable Vulkan native MSAA by default for now. 2016-05-17 05:58:52 -05:00
Dr. Chat
2bb52ef86b SPIR-V: WIP shader compiler / optimizations / alpha test implementation 2016-05-15 12:01:38 -05:00
Dr. Chat
79f1193130 Vulkan CP: Fix calculating an invalid copy destination base address when sizeof(texel) != 4 2016-05-06 00:12:47 -05:00
Dr. Chat
7c5042add7 Vulkan CP: Add in separate swap-chain images
Some other changes I can't remember
2016-05-03 14:12:05 -05:00
Dr. Chat
f2af28c322 TextureCache: Fix up some synchronization flaws (deleting in-use textures/etc)
Fix texture binding IDs not matching fetch instruction IDs.
Fix some bad texture format matching.
Add access watches
2016-05-03 14:10:15 -05:00
Dr. Chat
8e8df2e778 PipelineCache: Support shader disasm dumps for nvidia cards.
Fix MSAA 2X multiplier.
2016-05-03 14:07:20 -05:00
Dr. Chat
d18c99aab6 RenderCache: Account for MSAA when calculating tile sizes.
Add a new flag to enable native MSAA (this does not work properly at the moment)
2016-05-03 14:05:34 -05:00
Dr. Chat
aa038fbf23 Skip the wrapping packet end after parsing IB end (to avoid false draws appearing) 2016-05-01 15:48:31 -05:00
Dr. Chat
720f8b0dc2 GL4: Track the internal format of render targets and match them based on that. 2016-05-01 11:23:54 -05:00
Dr. Chat
cbccc785cc TraceViewer: Build a tree of all command buffers and display that instead of a flat list. 2016-05-01 10:15:33 -05:00
Dr. Chat
9b2e2a7275 SPIR-V: Hack in OpSelectionMerge as hints to NVidia's shader compiler (TODO: Make a Shader Compiler) 2016-04-13 23:17:03 -05:00
Dr. Chat
4811ebc2ce BufferCache: Use a CircularBuffer as the transient buffer. 2016-04-09 21:27:32 -05:00
Dr. Chat
b7f2c93d73 SPIR-V: Batch predicated instructions together into a single block.
Add Post-Translation validation.
Fix a couple of type-related typos.
2016-04-09 21:03:44 -05:00
Dr. Chat
3726064af5 Can't use CmdCopyBufferToImage or vice versa for depth and stencil. 2016-04-01 22:03:29 -05:00
Dr. Chat
50f72b4e42 Enable native MSAA
Copy back EDRAM buffers in order by base offset.
2016-04-01 21:52:39 -05:00
Dr. Chat
2eca3ce9e6 Texture uploads/basic formats
Fixed swizzle one/zero mismatch
Sampler setup
Remove samplers from the descriptor set layout
2016-04-01 21:51:17 -05:00
Dr. Chat
44cffab389 SPIR-V Max4 2016-03-25 18:23:45 -05:00
Dr. Chat
fc1bd0f379 Fix texture uploads 2016-03-25 17:29:39 -05:00
Dr. Chat
692d666d57 Wipe the buffer cache in ClearCache for now. 2016-03-25 16:50:06 -05:00
Dr. Chat
0e44cda961 Update the rectangle list shader 2016-03-25 16:49:41 -05:00
Dr. Chat
a5a31cf123 VulkanShader::Prepare - return false if vkCreateShaderModule failed. 2016-03-25 16:37:24 -05:00
Dr. Chat
f75e5fec24 CP: Use a single command buffer for every frame, reuse render passes/pipelines if not dirty
Hook up resolves and swaps
2016-03-25 16:35:34 -05:00
Dr. Chat
1e1da1eb6c PipelineCache::ConfigurePipeline - Inform the caller if the pipeline is dirty or they can reuse the previously bound pipeline.
Make SetDynamicState public.
2016-03-25 16:34:14 -05:00
Dr. Chat
b2457d7e72 Basic texture uploads/address lookups/etc
Freeing of descriptor sets when the GPU is finished with them.
2016-03-25 16:32:29 -05:00
Dr. Chat
0e41774e36 RenderCache::dirty() - used to tell if we need to begin a new pass
Round all pixel pitch/heights up before dividing.
2016-03-25 16:31:12 -05:00
Dr. Chat
e72e283e79 Primitive type makes rasterization state dirty too! 2016-03-23 16:20:06 -05:00
Dr. Chat
7b962e59a4 SPIR-V Dst
Fix a few bugs in the translator
2016-03-20 14:21:55 -05:00
Dr. Chat
38b94dd9e2 Add in Xenos events 2016-03-17 21:58:23 -05:00
Dr. Chat
0e3c113375 Physical write watches -> access watches (read and/or write watching) 2016-03-17 21:55:16 -05:00
Dr. Chat
1831e7a936 Pipeline stencil state 2016-03-16 14:45:40 -05:00
Dr. Chat
54f89825d9 SPIR-V Dp2Add/Dp3 2016-03-15 00:30:39 -05:00
Dr. Chat
245102e9e5 RenderCache::BlitToImage 2016-03-12 22:04:32 -06:00
Dr. Chat
822d61c3d9 Fix a few stale data usage bugs in the pipeline cache.
Hook up part of depth/stencil tests/writes
2016-03-12 22:03:11 -06:00
Dr. Chat
5ba04b9e55 RenderCache::ClearEDRAMColor/ClearEDRAMDepthStencil 2016-03-12 11:49:59 -06:00
Dr. Chat
635d095b87 RenderCache: Track color target / depth target usage, refactor RawCopyToImage 2016-03-10 20:39:46 -06:00
Dr. Chat
f903a559b3 Blit Vulkan CP output to the main window's swap chain 2016-03-10 13:01:39 -06:00
sephiroth99
90b54bbaa6 Fix usage of mix in fragment shader
The boolean value must be a vector too, where each bool component
selects whether the value of the output vector component is from the
first or the second source vector.
2016-03-10 01:14:42 -05:00
Dr. Chat
86cb40f0c6 Change how the render cache renders into EDRAM.
Rendering directly into the EDRAM buffer is bad because we don't know how the GPU lays out memory when it draws. Instead, we create temporary render targets and copy EDRAM contents to/from those temporary RTs before and after each draw.
2016-03-08 18:02:03 -06:00
Dr. Chat
4e27539709 Fix Vulkan texture drawing. 2016-03-08 17:57:04 -06:00