Jake Turner
b44a75eddf
Helpers to convert MTL Blend, ColorWriteMask enums
...
MakeBlendMultiplier(MTL::BlendFactor blend);
MakeBlendOp(MTL::BlendOperation op);
MakeWriteMask(MTL::ColorWriteMask mask);
2022-06-23 12:11:57 +01:00
Jake Turner
d3e2231ba9
Use bytebuf::assign() instead of resize, memcpy
2022-06-23 12:11:57 +01:00
Jake Turner
1f6b2abc12
ObjC helpers MTL::Drawable, CALayer, CAMetalLayer
...
Get_Texture(MTL::Drawable *drawable);
Get_Layer(MTL::Drawable *drawable);
CALayer_GetSize(void *layerHandle, int &width, int &height);
CAMetalLayer_Set_drawableSize(void *layerHandle, int w, int h);
CAMetalLayer_Set_device(void *layerHandle, MTL::Device *device);
CAMetalLayer_Set_framebufferOnly(void *layerHandle, bool enable);
CAMetalLayer_Set_pixelFormat(void *layerHandle, MTL::PixelFormat format);
CA::MetalDrawable *CAMetalLayer_nextDrawable(void *layerHandle);
2022-06-23 12:11:57 +01:00
Jake Turner
0499c2af96
Serialization for enum MetalResourceType
2022-06-23 12:11:57 +01:00
Jake Turner
c7b6d6293e
Serialization for Metal types
...
structs
MTL::Origin
MTL::Region
MTL::Size
enums
MTL::BlitOption
MTL::DeviceLocation
MTL::ArgumentBuffersTier
MTL::DepthClipMode
MTL::TriangleFillMode
MTL::CullMode
2022-06-23 12:11:57 +01:00
Jake Turner
81436706c8
Recursive patching of qt external dependencies
...
Recursively copy and repoint the external libraries and their external dylib dependencies
2022-06-23 12:10:35 +01:00
baldurk
c13366d13b
Fix capturing frame 0 if the first window is never presented
...
* The first window created becomes active, if it never presents then a frame 0
capture never finishes.
2022-06-22 20:04:42 +01:00
baldurk
f18d1b3b98
Improve ordering of source declared variables for debug info
2022-06-22 20:04:42 +01:00
baldurk
20f42feab4
Improve mapping of breakpoints to disassembly & source
...
* We breakpoint directly on source/disassembly lines rather than trying to map
to instructions that may get stepped over and skipped.
2022-06-22 20:04:42 +01:00
baldurk
c8f673137b
Fix handling of local variable mappings around function entry & calls
2022-06-22 20:04:42 +01:00
baldurk
2bf91773f3
When using debug info, don't use first store as variable live point
...
* We already will have a live point when the variable is declared
2022-06-22 20:04:42 +01:00
baldurk
8838a878e8
Show the current event in texture viewer usage context menu
2022-06-22 20:04:42 +01:00
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