Commit Graph

9665 Commits

Author SHA1 Message Date
baldurk 57f4e28be6 Fix array size fetch for 1D array textures on GL 2019-11-15 17:25:34 +00:00
baldurk 048136fa2d Keep all queues alive on D3D12 until the end of the capture. Refs #1595 2019-11-15 11:58:31 +00:00
baldurk 90907ebb50 Add support for shared fence imports. Refs #1595 2019-11-15 11:49:19 +00:00
baldurk 22f4e3fa29 Handle strange D3D12 singleton device per adapter behaviour. Refs #1595 2019-11-15 11:36:56 +00:00
baldurk a6f7461aa7 Implement OpenSharedResource1 and ResourceByName on D3D11. Refs #1595 2019-11-14 17:31:44 +00:00
baldurk 56f028039c Handle QueryInterface for ID3D12Device. Refs #1595 2019-11-14 17:24:14 +00:00
baldurk 07e8731776 Protect against buffer view being closed during async render thread work 2019-11-13 17:25:01 +00:00
baldurk d15549ba89 Add some extra UUID handles in D3D11/DXGI QueryInterface implementations 2019-11-13 17:25:01 +00:00
baldurk c6d6ef5fed Fix priority of sample index (and resolve) vs mapping samples to arrays
* When saving a texture, if mapToArray is true then sampleIndex should be
  ignored
2019-11-13 17:25:01 +00:00
baldurk d955c5b00c Change defaults when saving DDS to favour unorm variants 2019-11-13 10:11:39 +00:00
baldurk e713c82dcd The slice parameter for 3D textures should be mip-relative too 2019-11-13 10:05:31 +00:00
baldurk 3fbb9ee7ad PickPixel's x and y parameters should be mip-relative
* Previously x and y always ranged from 0,0 to width-1,height-1. Even for lower
  mips, the value was just effectively shifted.
* This is quite unclear at the API level so instead x and y are now relative to
  the selected mip's dimensions.
2019-11-13 10:05:30 +00:00
baldurk c497446524 Simplify D3D texture render shader parameters, fix scaling bug in D3D12
* We previously relied on setting the viewport smaller than the output
  dimensions in D3D11 to scale for lower mips. In D3D12 the viewport is set to
  the output dimensions internally so we can't do that, so instead apply a
  manual scale.
2019-11-13 10:05:30 +00:00
baldurk 0b15b8b5ce GL data type for GL_RGB10_A2UI is unsigned 2019-11-13 10:04:41 +00:00
baldurk 0818d9f379 Don't lose SRGB flag when remapping textures for proxying 2019-11-13 10:04:31 +00:00
baldurk 5d32cf6b07 Force remap of Alpha8 on GL, it's not a supported format in core profile 2019-11-13 10:04:24 +00:00
baldurk 46c2b8cf4c Reset pixel unpack state when uploading proxy texture data in GL 2019-11-13 10:04:17 +00:00
baldurk aa942d243c Remove duplicate VK_EXT_pci_bus_info extension whitelist 2019-11-13 10:04:00 +00:00
baldurk 6653316a62 Protect against window being closed during async render thread work 2019-11-12 20:44:35 +00:00
baldurk 75d323c2b6 Don't rewrap queues when multiple queues are mapped to one on replay 2019-11-12 20:44:35 +00:00
baldurk d6fdd2893f Fix some broken rst specifiers in docstrings 2019-11-12 20:44:35 +00:00
baldurk 47fdb5add3 Exclude StructuredBufferList, StructuredObjectList from python docs
* These types should be mapped/treated invisibly as native python lists.
2019-11-12 20:44:35 +00:00
baldurk 8b7d23cba1 Rename SDObjectData::str member in python, to avoid confusion
* Although it's legal, the language type is 'str' so this could cause
  namespacing issues potentially
2019-11-12 20:44:35 +00:00
baldurk 0544c737f7 Don't load stale/unused descriptor contents in initial contents 2019-11-12 20:44:35 +00:00
baldurk 2f6dc63458 Disable crash handler when chrome or chrome derivative is detected
* The volume of invalid crash reports from people injecting into these programs
  is massive, and some filtering has to happen.
2019-11-12 20:44:35 +00:00
baldurk 88879dd349 Disable compute support on GL < 4.2. Closes #1591 2019-11-12 20:44:35 +00:00
baldurk b35eca4a62 Ensure tool path cache doesn't get destroyed before adb shuts down 2019-11-12 20:44:34 +00:00
baldurk d236b784dd Don't add attachments as parent resources for imageless framebuffer 2019-11-12 20:44:34 +00:00
baldurk 7e08bf6573 Filter the list of formats listed in 'convert' help. Closes #1590
* Only formats that support opening should be listed under the help for --input-
  format.
2019-11-12 20:44:34 +00:00
Steve Karolewics 9b141086c0 Move some functions to common locations for upcoming D3D12 usage.
Some work for shader debugging is identical to setting up the quad
overlay, so I've moved that logic to their own functions.
Some portions of creating a global shader debug state, and the
entirety of the initial shader debug state were agnostic of D3D API,
so they now exist in DXBC code.
2019-11-12 12:33:03 +00:00
Gert Wollny b5890155b5 gl: Consider also ARB_shader_bit_encoding to enable bit conversion
On drivers only supportinmg OpenGL 3.3, like llvmpipe, ARB_gpu_shader5 may
not be available, but (u)intBitsToFloat and floatBitsTo* are part of GLSL 330,
and are also availabe by enabling the extension ARB_shader_bit_encoding.

Consequently, check for this extension when ARB_gpu_shader5 is not available,
require it when available, and enable the bit code path using these bit cast
functions accordingly.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
2019-11-11 14:50:46 +00:00
Gert Wollny 44e7bbe439 gl: Handle the use of (u)intBitsToFloat by using a separate define
The shader code is preprocessed with glslang that doesn't use the driver
capabilities to define macros indicating the availability of extensions,
instead it uses its own set of supported extensions, and in this case
it supports ARB_gpu_shader5. As a result the generated shader code would
make use of the (u)intBitsToFloat conversion functions based on the define
GL_ARB_gpu_shader5 also if the driver doesn't support this extension.

Hence an additional define is added to indicate whether bit casting
functions are available, and the extension is only enabled/required when
the driver actually supports it.

Closes: #1586

v2: - Fix ws
    - reword commit message

v3: - check for ARB_shader_bit_encoding and ARB_gpu_shader5 in shader creation code
    - don't enable GL_ARB_gpu_shader5 unconditionally in the OpenGL shader
    - reword commit message

v4: Use an additional define HAS_BIT_CONVERSION to make sure gslang correctly
    parses the shader code (Baldurk).

v6: - Add HAS_BIT_CONVERSION also with the GLES code path (Baldur)
    - split patch
    - reword commit message(s) (Baldur)

v7: fix ws

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>

lala
2019-11-11 14:50:46 +00:00
Steve Karolewics 9cb2f1d0f5 Prevent overflow in gathering D3D12 descriptor counts 2019-11-07 11:01:57 +00:00
mweber 2b7753af67 Implemented PerformanceCounterViewer::OnEventChanged handling
Implemented PerformanceCounterViewer::OnEventChanged to handle global event changes.
Behaviour can be toggled on/off via a new 'Sync Views' button similar to the Mesh Viewer; the default is off.
2019-11-06 17:52:00 +00:00
Steve Karolewics fa232b7f14 Move some shader debug functions to a shared location.
In early testing with D3D12 shader debugging, these functions did
not require any differences from the D3D11 versions. Moving them to
a common location to avoid some code duplication.
2019-11-06 09:10:51 +00:00
baldurk 67d73af8c8 Fix capture and replay of D3D12 render passes. Closes #1574 2019-11-04 12:58:40 +00:00
Steve Karolewics df104e2062 Add file and function declarations for D3D12 debugging. 2019-11-04 10:53:39 +00:00
baldurk 9a5c4531e9 Explicitly document what capturing frame 0 means. 2019-11-01 11:31:25 +00:00
baldurk 84152a74bf Tweak issue template and documentation
* Primarily to make sure that it is very clear using the template is expected.
2019-11-01 11:18:24 +00:00
baldurk ad8a23e9c3 Handle backbuffers in GL that are 0 width or height. Closes #1571 2019-11-01 10:58:54 +00:00
Aliya Pazylbekova 36c7d6d623 Vk pixel history: Add stencil and event flags 2019-10-30 08:28:57 +00:00
baldurk 86c2352a37 Fix a few issues with 1D array textures on GL 2019-10-29 18:08:34 +00:00
baldurk 48c98a3dc1 Add debug-time options for debugging the remote server 2019-10-29 18:08:34 +00:00
baldurk 14bc99947c Add a debug-only mode to log everything going through a serialiser
* We also allow structured export on write, again in debug builds only
2019-10-29 18:08:33 +00:00
baldurk 253194c9a1 Support using atomic-append logging for multiple file outputs
* The primary user is the main logfile itself, but it's useful for debugging
  purposes to be able to log to a file and still open it externally in a viewer
  without having the logging code take exclusive access to it.
2019-10-29 18:08:33 +00:00
baldurk 99934e799a Make sure to bounds check static instanced vertex data for debugging 2019-10-29 16:37:36 +00:00
baldurk a8baf4fa49 Fix compile error 2019-10-28 19:25:02 +00:00
baldurk 6a39e4d6f8 Fix deletion of image viewer's IReplayDriver 2019-10-28 18:57:52 +00:00
baldurk 3674e5a494 Add guidance on filing good issues, and update issue template
* Issues not following the template will be closed. It is too much of a drain on
  project resources to deal with bug reports that are not well formatted and
  unclear. The template is easy to fill out and does not ask much.
2019-10-28 18:00:25 +00:00
baldurk 038028f4ba Use integer copy for MSAA<->array when texture is typeless
* Copying as floats may not be safe as subnormal values will get flushed.
2019-10-28 16:16:28 +00:00