Before, if a row was selected, the color was completely replaced, which
makes the color preview column completely useless for that row.
This change also fixes some inconsistencies with how the selection hover
works on tree widgets; previously part of the row was not highlighted.
Before, the buffer could be overrun, which could result in anything from
garbage data to the GPU device being lost to segfaults. Now, correct
data is gathered.
We can't know in advance how many primitives will hit the targetted
pixel, so it's not possible to create the buffer until after our first
pass for each events (fortunately we do know the number of events in
advance). It is possible that we don't need a larger buffer, though,
in which case the original one can be re-used.
* If we select an event we will refresh the overlay before saving the pipeline
state meaning before the cache is updated. This might cause us to render the
overlay to a stale texture.
* We often create stream readers or writers directly on the result of a fopen,
and we want them to be 'safe' to use (marked as errored, but not crashing).
Ideally would use "retain" but that would require upgrading to recent compilers in CI and the project.
__attribute__((retain)) function/variable to prevent linker garbage
collection.
* Previously we were obtaining the image layout from before the current command
buffer was recorded, but this is out of date if the image layout has changed
during the command buffer. Worst case it could be e.g. UNDEFINED if the image
was created and not used until the current command buffer.
* If the remote host disconnects during the selection process we will no longer
have a valid connection, we shouldn't sanitise the resulting path according to
local filenames.
Compute primitive restart using VulkanRenderState not pipeline, to account for dynamic state.
Ignore primitive restart indexes, handles primitive restart indexes being used when there are no active vertex buffer bindings
Fixed the problem that showing invalid shader resource in pipeline state viewer since v1.24
Revert "Hide invalid shader resources"
This reverts commit e62b6fa13d24bcd8c9d2e2109a140efe1c068736.
Hide invalid shader resources on D3D12
* Deliberately low contrast themes like the dark theme can have issues showing a
box that is filled vs just a plain rectangle which is harder to read at a
glance. Changing the fill to an X icon gives extra readability on the dark
theme.
Add __attribute__((visibility("default"))) to VK_LAYER_EXPORT on Android.
It used to be defined in the Vulkan headers and changed when the update to the latest Vulkan headers was integrated in 5118f08e23
GL_SAMPLES_PASSED is not supported by GLES.
The pixel history test is already using a 1x1 scissor test, GL_ANY_SAMPLES_PASSED should be the same as GL_SAMPLES_PASSED.
The pixel history logic is only testing for non-zero passing samples, the precise value is not used.
Qt on Ubuntu 23.04 includes https://github.com/qt/qtbase/commit/f9e4402ffe, which during show() under certain scenarios (for example Qt::ToolTip windows) would destroy and recreate the xcb window.
Adding Qt:WindowStaysOnTopHint to the window flags for ToolTip windows prevents the xcb window from being destroyed and recreated during show().
Prevents a crash when refreshing the overlay for am unbound Texture resource and the pipeline state does not have a bound DSV.
Related to 742e3de2 which changed the internal behaviour of FillResourceView().
GPUSyncAllQueues() changed behaviour in e33629ca which meant the GPU was not being synchronized when patching the execute indirect arguments when loading a capture.
This led to a race between CPU & GPU and incorrect argument data being read back from the GPU to the CPU and then used for ExecuteIndirect replay.
In addition to fixing the bug changed other calls from GPUSyncAllQueues() to GPUSync() where appropriate ie. single flush validate debug mode.