Commit Graph

13207 Commits

Author SHA1 Message Date
Orson Baines d1dcb81acd use WrappedOpenGL::SetFetchCounters in occlusion query 2022-06-22 13:17:24 +01:00
Orson Baines 45ac6242e0 OpenGL Pixel History address PR feedback
- add missing destroy resources call
- restore framebuffer binding after replaying draw
- disable more state bits for occlusion querying
- read back query results after executing all queries
2022-06-22 13:17:24 +01:00
Orson Baines 8684585330 Add WIP OpenGL Pixel History code for PostMod pixel value
The OpenGL Pixel History feature is hidden behind the OpenGL_PixelHistory config toggle.
For now, we only run an occlusion query and then replay the events
and read back the pixel values to return to the UI.
2022-06-22 13:17:24 +01:00
baldurk 7d9a1a05b8 Correctly handle programs that don't create graphics queues 2022-06-21 15:31:41 +01:00
baldurk 2020a71cf1 Account for flip in face culling winding for GL clip origin
* The GL clip origin when changed from lower left to upper left will also invert
  the face culling sense. This is deliberate to counteract the fact that
  otherwise CW wound triangles would be CCW wound, so the flip means that if
  GL_CCW is the front face state and back faces are culled, then visibly CCW
  wound triangles will be culled.
2022-06-21 12:51:31 +01:00
baldurk e903589e95 Fix bitcast between types of different column counts 2022-06-20 17:20:51 +01:00
baldurk 687c11ba68 Fix handling of 64-bit integer vertex attributes in mesh output fetch 2022-06-20 16:47:50 +01:00
baldurk 183f50bfb7 Fix patching of qt dependencies 2022-06-20 16:47:50 +01:00
baldurk 0431e4114f Handle D3D12 renderpass resolves. Closes #2622 2022-06-20 16:47:50 +01:00
Jake Turner e7669288c9 DoStringise for MetalChunk 2022-06-20 10:14:34 +01:00
Jake Turner c6fff16bf2 Reserve Chunk for modifying MTLBuffer contents
MTLBuffer_InternalModifyCPUContents
2022-06-20 10:14:34 +01:00
Jake Turner f5a2bae23c Set the enable state for Save, Delete actions
Disable the actions when no captures are selected
2022-06-20 10:12:40 +01:00
William Hjelm 59b43510b2 Fix typo in in intercepted CreateCommittedResource 2022-06-17 19:47:21 +01:00
baldurk 028d71fced Remove DENY_SHADER_RESOURCE flag in all resource creation functions 2022-06-17 18:13:06 +01:00
baldurk e15df3a75c Test that glBindProgramPipeline(0) generates no errors 2022-06-17 17:27:30 +01:00
baldurk db06aaa2de Test that recreating renderbuffers doesn't leak resources 2022-06-17 17:27:30 +01:00
baldurk 95c8a3f42e Test swizzles of UAV reads 2022-06-17 17:27:30 +01:00
baldurk 4a0bc691a7 Add test that solid/lit rendering works on points and lines 2022-06-17 17:27:30 +01:00
baldurk 71d7f000c4 Add test for D3D12 texture contents including with DENY_SHADER_RESOURCE 2022-06-17 17:27:30 +01:00
baldurk 20b496fc7a Add test of integer bare uniforms on GL 2022-06-17 17:27:30 +01:00
baldurk ef003ec881 Test depth bounds serialisation on GL 2022-06-17 17:27:30 +01:00
baldurk 46a1f90495 Disable depth bounds test when rendering GL overlay 2022-06-17 17:27:30 +01:00
baldurk fd2ae37a8b Test overlay rendering with separable shader programs 2022-06-17 17:27:30 +01:00
Danylo Piliaiev 623cd01919 Do not use inline asm for debugbreak on non i386/x86_64 targets
Fixes compilation on non i386/x86_64 Linux targets.

Don't use arch specific assembly for other architectures because
in most cases it breaks gdb ability to do next step.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
2022-06-17 17:26:16 +01:00
Jason Chen 825f1c69fe Fix typo 2022-06-17 16:09:22 +01:00
baldurk 6a006625f2 Ignore rasterizerDiscardEnable == true if it is dynamic. Closes #2617
* Normally we have to ignore subsequent states as potentially garbage pointers
  if discard is enabled, but when it's dynamic state we have to ignore its
  valid.
2022-06-17 10:46:14 +01:00
baldurk 1eee00f01d Remove unnecessary sRGB conversions 2022-06-16 16:30:00 +01:00
baldurk 0fce39ff04 Implement workaround for broken occlusion queries on Intel. Closes #2591
* If a draw has no effects (color mask writes off, no depth attachment) then
  Intel will not return proper occlusion query results. Forcibly patching in a
  storage write works around the problem.
2022-06-16 15:53:50 +01:00
baldurk 59804c1d1e When using GLES on desktop, use same API for child context. Closes #2612 2022-06-16 15:53:50 +01:00
baldurk fc39299da8 Don't require GL_OVR_multiview2 when GL_OVR_multiview is enough
* This is also all we check for in code.
2022-06-16 15:53:50 +01:00
baldurk 9f66c125df Add color attachment usage for MSAA targets for discard patterns
* In most cases we expect this to already be there, and if not it likely will
  not penalise anything in the driver since MSAA is designed for rendering to.
2022-06-16 15:53:50 +01:00
baldurk 4d8fdf4e31 Use inline asm for debugbreak on linux to remove stack frames
* raise() adds several stack frames in debug builds, and even an inline function
  will too, regardless of always_inline status.
2022-06-16 15:53:49 +01:00
baldurk f6ac09c4e1 Workaround intel mesa issue reading invalid sample locations 2022-06-16 15:53:49 +01:00
baldurk 15a99155ce Fix checks for individual features in EXT dyn state 2 2022-06-16 15:53:49 +01:00
Jake Turner 31b97ab0e8 Updated TODO: about BinaryArchive & DynamicLibrary
They will both need to be wrapped.
When WrappedMTLBinaryArchive and WrappedMTLDynamicLibrary exist then can serialize:
binaryArchives
vertexPreloadedLibraries
fragmentPreloadedLibraries
2022-06-15 13:02:27 +01:00
Jake Turner 22b2272812 Added wrapped MTLBuffer 2022-06-15 13:02:27 +01:00
baldurk 85af87c231 Fix unused variable warning 2022-06-14 20:38:43 +01:00
baldurk 7142bf16e0 Handle non-infinite arrays of UBOs in vulkan shader debugging 2022-06-14 18:36:33 +01:00
baldurk 1e8425c3e6 Refactor handling of device/window pairs and overlay text 2022-06-14 18:05:07 +01:00
baldurk ed9ac9f7bf Add a hack flag to allow subgroup bitwise or 2022-06-09 16:56:02 +01:00
baldurk a68f9ba86a Don't use dynamic rendering when we replace with a fixed renderpass 2022-06-07 22:31:02 +01:00
baldurk 5ff8f2c4da Fix state inheritance properly for library pipelines 2022-06-07 22:22:02 +01:00
baldurk dc7d79a50a Resetting command pools should free in-flight recording pages
* Command buffers that have grabbed pages in their allocators should have those
  pages freed if the pool is reset and the command buffer is never ended.
2022-06-07 21:05:06 +01:00
baldurk c81a522360 Fix entry-point remapping when editing compute shaders on vulkan 2022-06-07 12:19:50 +01:00
baldurk e50e114cb7 Show error/unavailable status for postvs data in mesh view. Refs #2595 2022-06-06 18:35:29 +01:00
baldurk 3e9a72071d Update to latest VK and SPIR-V headers
* This also adds support for VK_KHR_fragment_shader_barycentric as a mostly in-
  place upgrade from the NV extension
2022-06-06 18:35:29 +01:00
baldurk c73c54dd6f Be more informative with 'capture incompatible' error messages on vulkan 2022-06-06 18:35:29 +01:00
Jake Turner 958e568c9d Added wrapped MTLRenderCommandEncoder
Implemented capture serialisation for APIs:
MTLCommandBuffer::renderCommandEncoderWithDescriptor
MTLRenderCommandEncoder::setRenderPipelineState
MTLRenderCommandEncoder::setFragmentTexture
MTLRenderCommandEncoder::setViewport
MTLRenderCommandEncoder::drawPrimitives
MTLRenderCommandEncoder::endEncoding

Serialisation for helper types:
MTL::PrimitiveType
MTL::LoadAction
MTL::StoreAction
MTL::StoreActionOptions
MTL::ClearColor
MTL::Viewport
MTL::MultisampleDepthResolveFilter
MTL::MultisampleStencilResolveFilter
MTL::SamplePosition
MTL::RenderPassDescriptor
MTL::RenderPassAttachmentDescriptor
MTL::RenderPassColorAttachmentDescriptor
MTL::RenderPassDepthAttachmentDescriptor
MTL::RenderPassStencilAttachmentDescriptor
MTL::RenderPassSampleBufferAttachmentDescriptor
2022-06-06 18:12:53 +01:00
baldurk c4b4c528a3 Add a testing option to step to DebugValue instructions 2022-06-02 18:18:58 +01:00
baldurk 2a97762b87 Handle indexes and partial source mapping in SPIR-V debug info 2022-06-02 18:16:30 +01:00