* This helps downstream forks to run CI without seeing a false negative in the
mac release build due to being unable to upload the final package to the
server.
* When selecting the first event in a command buffer the render state wouldn't
properly be updated. This is particularly bad if the state that changed is
being in/out of a renderpass.
* This was an extremely old bit of code from before vulkan 1.0 to detect a
common error. RenderDoc does not validate in general so delete this rather
than keep it up to date.
* We can't debug geometry shaders but we can scroll to them, as long as we have
the primitive. We can't differentiate instances currently without passing that
data through from the VS (and through tessellation, if it exists).
* This also disables the debug and goto buttons for printfs from shader stages
that don't support those operations.
* Previously this would be treated as std430 due to being 'tight' array packed,
even though std430 only allows as tight as the base alignment - which for a
float3 is 16-bytes still.
* AppInit_DLLs requires short paths to be specified, if they can't be created on
the volume we can't reliably enable the global hook.
* Detecting this programmatically is quite complex, but since we know the shim
file is always longer than 8.3, if we detect that the short path is the same
length as the long path we know short names weren't used.
Adding note about using "--demos-binary" option to specify the filepath of the demos binary as an alternative to making sure the demos binary is in the PATH.
Fixed a typo "can'tbe" -> "can't be"
Copy Metal driver metal-cpp files to the tests project for use in the tests project
Add extensions from Learn Metal-cpp project: https://developer.apple.com/metal/cpp/https://developer.apple.com/metal/LearnMetalCPP.zip
Custom additions to Metal CPP to get NSApplication, NSView, NSWindow, CAMetalLayer to work stand alone without requiring MetalKit library.
CMAKE_OSX_ARCHITECTURES
ENABLE_PYRENDERDOC
CMAKE_OSX_DEPLOYMENT_TARGET
Remove CMAKE_OSX_ARCHITECTURES default setting to build for multiple architectures.
Enable ENABLE_PYRENDERDOC to On by default for Apple.
* This is especially relevant on Android where we fetch all function pointers at
init time, so any that we replace via emulation are gone, but it is also
generally true that we expect GL contexts to be representative.
This replaces WrappedMTLObject::Dealloc() which was not implemented or hooked up (it was a TODO).
Deleted WrappedMTLObject::Dealloc()
DeallocateObjCBridge calls resource manager ReleaseWrappedResource().
This constructs in-place the ObjC bridge class.
This fixes a bug where the reference count of the ObjC bridge class was not guaranteed to be initialized on construction.
* This may break on drivers old enough to not recognise the first non-legacy
ASIC, but that is much rarer than new drivers that have dropped support for
the old ones.
* D3D12 math shader was already precompiled, but on D3D11 we now allocate
everything up front and on D3D12 we also up-front compile sampling.
* The only exception is const offsets which can't be variable, so we cache these
(likely we'll only see a few variants per shader/capture) and create them on
demand.
Switch to caching the CA::MetalLayer & WrappedMTLTexture from the MTL::Drawable.
This is to avoid validation asserts about accessing the texture of a MTL::Drawable after calling MTLCommandBuffer::presentDrawable.
Switch "bool present" to "uint32_t flags" to future proof being able to store multiple flags on the command buffer recoring info
Previous API return goes back to usage for objective C calls and this is not required now the objective C and C++ wrapping/unwrapping has advanced and simplified.
More sense/natural/correct to return type without casting it.