Commit Graph

4254 Commits

Author SHA1 Message Date
Dan Weatherford f44e8acccb Invalidate overlapping textures when creating resolve texture
This fixes a case where we would leave an uploaded texture lying around that
was inadvertantly generated when a game sampled from a resolve texture that
had not been populated yet.
2018-03-03 19:16:00 -06:00
Dan Weatherford 277b9dd9ae Texture region splitting
Introduce the concept of texture regions. Each texture starts with a base
region which covers all of its content, and can provide smaller subregions
given an offset and size (populated by allocating a new VkImage and blitting
from the base region). Subregion allocations and content are cached and
invalidated when the base region is written. Writing is only allowed to the
base region at this time.
2018-03-03 19:16:00 -06:00
Dan Weatherford 2e3329095b Hack to fix render target clearing
Treat a depth render to an EDRAM region that is subsequently used as a color
target as a clear.
2018-03-03 19:16:00 -06:00
DrChat 6b8a34c9ba [Base] Fix Travis 2018-03-03 19:15:37 -06:00
DrChat 4fd03e8029 [Base] Shutdown the logger to prevent truncation of output 2018-03-03 19:00:04 -06:00
DrChat 157c7780af [JIT] Add V128 ADD/SUB (fixes #1095) 2018-03-03 18:24:57 -06:00
DrChat 1c1fdb4ccd [JIT] Properly mask NaNs in vctsxs 2018-03-03 14:06:45 -06:00
DrChat a9d2a50082 [Vulkan] Add AMD shader statistics info support 2018-03-03 12:34:19 -06:00
DrChat 3fb7b9d944 [Vulkan UI] VulkanDevice::HasEnabledExtension 2018-03-03 11:53:24 -06:00
DrChat 199328f971 [Vulkan] PipelineCache ClearCache support and pipelines counter 2018-03-03 11:36:12 -06:00
DrChat 43043fd4a8 [Vulkan] Track pixel center in pipeline cache (but don't apply it quite yet) 2018-03-03 10:30:59 -06:00
DrChat 7c5c389ce8 [Vulkan UI] Travis, why? 2018-03-03 10:09:16 -06:00
DrChat 3a0903672c [Vulkan UI] Try to fix Travis again :/ 2018-03-03 00:01:23 -06:00
DrChat c8698f912f [Vulkan] Add pending delete textures counter 2018-03-02 23:46:58 -06:00
DrChat 9235a8107b [Vulkan] Track active textures in the texture cache 2018-03-02 23:28:29 -06:00
DrChat f7026cb17b [Base] Add support for microprofile counters 2018-03-02 23:28:01 -06:00
DrChat 6c67fe4b29 [Vulkan UI] Fix Travis 2018-03-02 22:35:29 -06:00
DrChat 2180280c8e [Vulkan UI] Stash the last signalled fence to speed up Scavenge 2018-03-02 22:13:59 -06:00
DrChat 82e8781549 [Vulkan UI] Use an underlying queue instead of a list of pointers in CircularBuffer 2018-03-02 22:01:55 -06:00
DrChat 2e3115660f [Vulkan] Scavenge Profiling 2018-03-02 21:42:49 -06:00
DrChat 894bbf9e26 [JIT] Fix incorrect definition for constant VectorConvertX2X 2018-03-02 19:03:48 -06:00
DrChat 3a8f8f2ecb [JIT] Fix OPCODE_SELECT V128 with certain combinations of constants 2018-03-02 18:56:28 -06:00
DrChat 2af0a3c2f4 [JIT] Mask extraction constants in Value::Extract 2018-03-02 18:55:52 -06:00
DrChat 49866e970b [JIT] VectorConvertX2X unsigned support 2018-03-02 16:34:57 -06:00
DrChat fd0d2185ef [JIT] Full support for vcfux 2018-03-02 15:11:29 -06:00
DrChat b0b920c040 Linting. 2018-03-02 12:14:09 -06:00
DrChat 6c97dbaf81 [JIT] Simplify VECTOR_ADD/SUB i32 with saturate 2018-03-02 11:48:19 -06:00
DrChat 131fcd1320 [JIT] Kill a couple instructions in VECTOR_CONVERT_F2I 2018-03-02 11:41:04 -06:00
DrChat 04d20e33a5 [JIT] Add another test case to vctuxs 2018-03-02 00:05:43 -06:00
DrChat 0577b6c9be [JIT] Full vctuxs support 2018-03-01 23:49:44 -06:00
DrChat 4766a5ec24 [JIT] Add FIXME on constant Vector F2I (saturation unsupported) 2018-03-01 21:15:54 -06:00
DrChat 6fd75cea91 [CPU] Handle constant multiply in fmadd/fmsub in constant propagation pass 2018-03-01 20:04:56 -06:00
DrChat d31db60a75 [SPIR-V] tfetch UseRegisterLOD support 2018-03-01 13:46:44 -06:00
DrChat ea3ee2db2b [SPIR-V] No implicit lod on vertex shaders 2018-03-01 13:30:21 -06:00
DrChat 3d80ed4853 Add microprofile presets to .gitignore 2018-03-01 10:22:53 -06:00
DrChat 6e5f70d39f [Vulkan UI] WaitAndSignalSemaphore -> WaitOnSemaphore
Fix a would-be bug dealing with pWaitDstStageMask
2018-03-01 10:20:07 -06:00
DrChat b3626a039b [Vulkan] Remove backend swap event (unused and confusing) 2018-03-01 10:19:11 -06:00
DrChat b2f1bf914a [Vulkan] Set proper aspect mask in depth uploads 2018-03-01 09:54:15 -06:00
DrChat 63a489d4c6 [Vulkan] Unset kBatchOwnsFence when transferring fences 2018-02-28 21:00:31 -06:00
DrChat 7fbd55369e [UI] Update microprofile to latest 2018-02-28 18:52:45 -06:00
DrChat 702a8732c8 [GPU] Free the command processor in the destructor rather than on shutdown
Fixes a race condition: TDR followed by WriteRegister will cause a crash. It's okay to continue writing to the command processor (it may be setup again later).
2018-02-28 15:19:02 -06:00
DrChat a976056afb [UI] Shut down the profiler before the graphics context 2018-02-28 15:05:10 -06:00
DrChat 2a52156edf [Vulkan] Change invalidated_textures_ to an unordered set 2018-02-24 14:23:22 -06:00
DrChat a753dbed15 [Vulkan] Update the rest of the shaders 2018-02-24 11:15:58 -06:00
DrChat 8fd9ab8387 [Vulkan] Fix input mismatch in dummy.frag 2018-02-24 11:15:27 -06:00
DrChat d781c7b6b1 [Vulkan] We need VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE 2018-02-24 10:28:33 -06:00
DrChat 24baf58ae3 [SPIR-V] Proper implementation of getGradients 2018-02-23 00:00:07 -06:00
DrChat 5a4dcd7043 [Vulkan] Shader module debug object names 2018-02-22 23:07:54 -06:00
DrChat 824c39c38a [Vulkan] Get debug markers working again 2018-02-22 22:58:29 -06:00
DrChat 5b6766b210 [SPIR-V] Fix a few issues with shaders (validation)
Properly calculating the number of texture bindings
2018-02-22 22:06:05 -06:00