Jake Turner
d34c2cf658
Do not clear catch failure return state
2022-06-27 11:03:22 +01:00
Jake Turner
98075c6759
Unit tests for Metal format helper methods
...
Basic tests for public methods:
MakeResourceFormat(MTL::PixelFormat format);
GetByteSize(uint32_t width, uint32_t height, uint32_t depth, MTL::PixelFormat format, uint32_t mip);
One test for helper method:
GetPlaneByteSize(uint32_t width, uint32_t height, uint32_t depth, MTL::PixelFormat format, uint32_t mip, uint32_t plane);
2022-06-24 21:03:36 +01:00
Jake Turner
b6787686d3
Helpers for Texture byte size and ResourceFormat
...
public Methods
MakeResourceFormat(MTL::PixelFormat format);
GetByteSize(uint32_t width, uint32_t height, uint32_t depth, MTL::PixelFormat format, uint32_t mip);
private helper Methods
IsOneComponent(MTL::PixelFormat mtlFormat);
IsTwoComponent(MTL::PixelFormat mtlFormat);
IsThreeComponent(MTL::PixelFormat mtlFormat);
IsFourComponent(MTL::PixelFormat mtlFormat);
IsBlockFormat(MTL::PixelFormat mtlFormat);
IsDepthOrStencilFormat(MTL::PixelFormat mtlFormat);
IsUNormFormat(MTL::PixelFormat mtlFormat);
IsSNormFormat(MTL::PixelFormat mtlFormat);
IsFloatFormat(MTL::PixelFormat mtlFormat);
IsUIntFormat(MTL::PixelFormat mtlFormat);
IsSIntFormat(MTL::PixelFormat mtlFormat);
IsSRGBFormat(MTL::PixelFormat mtlFormat);
IsYUVFormat(MTL::PixelFormat format);
GetBlockShape(MTL::PixelFormat format, uint32_t plane);
GetPlaneByteSize(uint32_t width, uint32_t height, uint32_t depth, MTL::PixelFormat format, uint32_t mip, uint32_t plane);
2022-06-24 21:03:36 +01:00
Jake Turner
5096d0244d
Future proofing MakeBlendMultiplier & MakeBlendOp
...
Remove default from switch statements to trigger compile errors if MTL::BlendFactor or MTL::BlendOperation enumerations change in the future.
2022-06-24 21:03:36 +01:00
baldurk
1928315de5
Fix a copy-paste error in D3D12_Compute_Only test
2022-06-24 13:34:46 +01:00
baldurk
4d9f53427e
Check queue availability in vulkan compute-only test
2022-06-24 12:22:13 +01:00
baldurk
67920a37b4
Update RGA backend to include gfx1035
2022-06-24 11:10:57 +01:00
baldurk
a48591143a
Load stencil state from stencil attachment correctly
2022-06-23 18:39:30 +01:00
baldurk
e310f72939
Delete chunks upon re-beginning a command buffer
...
* If a command buffer had an unbalanced begin/end, some chunks may still be left
in the record that haven't been baked. Delete these before beginning to record
again.
2022-06-23 18:38:03 +01:00
baldurk
5919085e47
Fix unused lambda capture compile warning
2022-06-23 12:12:06 +01:00
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