baldurk
19c7af5e35
Don't delete program before we try to print the link errors
2019-02-01 18:32:11 +00:00
baldurk
5854810fd4
Make timeouts in tests more forgiving for CI that occasionally fails
2019-02-01 18:32:11 +00:00
nmr8
38f68e1534
Update Dependencies.md
2019-01-30 09:25:02 +00:00
nmr8
54efa30596
Add debian dependencies, spoon feed build commands
2019-01-30 09:25:02 +00:00
baldurk
bca706a96b
Increase maximum wait time for program to start to 1 second. Refs #1243
2019-01-29 10:45:49 +00:00
baldurk
e70dd127f3
Use bindpoint mapping when looking up read-write resources on GL
2019-01-28 19:55:40 +00:00
baldurk
0f7cacc4ee
Custom shader objects are not programs, use right delete function
2019-01-28 19:55:40 +00:00
baldurk
542f664645
Fix missing register swizzles on relative addressing lookups
2019-01-28 19:55:40 +00:00
baldurk
76e42a1a2a
Make sure to correctly identify removed buffer in GPUAddress mapping
...
* When multiple buffers are aliased over the same heap memory, they'll have the
same GPU base address. Our mapping needs to ensure it removes the right entry
when a resource is released.
2019-01-28 19:55:39 +00:00
baldurk
3e843351e7
Handle ExecuteIndirect setting a GPU_VA of 0
...
* I don't know if this is valid or not, but it seems to work without triggering
any validation layer warnings or errors which is the best guess.
2019-01-28 19:55:39 +00:00
baldurk
317e89f7cb
Add QIODevice::Text for text writing, to convert newlines. Refs #1246
2019-01-28 19:55:39 +00:00
baldurk
f8d575d2d1
Don't leak programs when separable patching fails
2019-01-28 19:55:39 +00:00
baldurk
a154ca5cb9
Fix wrong enum being used in GL overlay for MSAA textures
2019-01-28 19:55:39 +00:00
baldurk
f8962abe21
Fix handling of BASE_LEVEL/MAX_LEVEL on texture types that don't have it
2019-01-28 19:55:39 +00:00
baldurk
09c1c8efdb
Don't call GetBaseFormat on compressed texture format
2019-01-28 19:55:38 +00:00
baldurk
1d0a9926b7
Fix error message referring to incorrect argument
2019-01-24 19:07:46 +00:00
baldurk
4839d6bee4
Never force gamma when displaying overlay texture
2019-01-24 19:07:46 +00:00
baldurk
bbaff6f575
Don't try to reflect non-existant tessellation/geometry shaders
2019-01-24 13:21:21 +00:00
baldurk
4bded8be29
Add missing GL_DYNAMIC_STORAGE_BIT specifiers in GL_Buffer_Updates test
2019-01-24 13:21:03 +00:00
baldurk
4f230ab625
Ensure we sync GPU work before destroying an output window on D3D12
2019-01-24 11:33:52 +00:00
baldurk
465c114ce0
Check for errors when creating replay D3D12 command list
2019-01-24 11:28:12 +00:00
baldurk
69a76bfb41
Use ASCII name for duration column in draw list export. Refs #1246
2019-01-24 10:15:36 +00:00
baldurk
953661fc81
Add missing commas in string name of vkCmdClearAttachments
2019-01-23 18:36:39 +00:00
baldurk
604854b87c
On D3D12 and Vulkan start first frame capture on API init. Closes #1195
...
* On GL/D3D11 we delay the start of the 'first frame' until a swapchain has been
created for D3D11, or an attribs-created context has been created for GL. This
makes it more useful and doesn't fire when creating devices/contexts for
enumeration or trampolining.
* On Vulkan/D3D12 the first device that's created is useful, so we can start
capturing immediately once it's available.
2019-01-23 16:19:43 +00:00
baldurk
35f7273379
Fix missing egl functions in eglGetProcAddress, use hook set macro
2019-01-23 14:41:03 +00:00
baldurk
0f8573d4a5
Enable VK_AMD_shader_core_properties on replay if it's available
...
* This extension is used by GPA
2019-01-23 13:45:18 +00:00
baldurk
7044754065
Update GPUPerfAPI to 3.3
2019-01-23 13:44:18 +00:00
baldurk
ae3a6da6bd
Use shader declared register array sizes to clamp descriptor tables
...
* When a descriptor table is unbounded in the root signature we don't want to
pass potentially multiple 100k descriptors through just because they're
technically available.
* Instead use the declared array size of the last register in the space (since a
descriptor table in the RS might correspond to multiple HLSL variables) to
limit which registers are actually available, which is possibly orders of
magnitude less.
2019-01-23 12:33:18 +00:00
baldurk
b0a694df46
Fix case fall-through when making string name for ETC2
2019-01-23 11:39:21 +00:00
baldurk
017b291b18
Install newer libstdc++-dev package in linux build scripts
...
* Older ones like 4.9 that was used originally didn't fully support C++11.
2019-01-23 09:33:34 +00:00
baldurk
f50ba1272f
Add missing explicit include for <type_traits>
2019-01-23 09:32:51 +00:00
baldurk
eb5c416130
Reserve space up front when fetching resources on Vulkan/D3D12
2019-01-22 18:51:54 +00:00
baldurk
3f8e2e7f99
Change the check for when copyRange/destroyRange can be trivially done
...
* Even if a struct isn't trivial (e.g. it contains a constructor) it can still
be trivially copyable (just POD with memcpy), or trivially destructable (with
no destructor). Make sure we don't fall back to slower copies/destroys for
this case as it's relatively common.
2019-01-22 18:48:07 +00:00
baldurk
9443423389
Don't do expensive string work for resource rows that are hidden
2019-01-22 18:02:14 +00:00
baldurk
eeae73042c
Don't serialise map data writes on D3D12 if we've baked to cached buffer
...
* When we have a cached buffer that already has the map contents, reserialising
the byte buffer is pointless as we don't use it for anything.
* The serialise involves allocating a buffer, memcpy'ing it, then freeing it
which can add up for large map writes.
2019-01-22 17:46:23 +00:00
baldurk
f2253404f7
Add test that verifies postvs data is correct with separable GS shaders
2019-01-22 16:56:04 +00:00
baldurk
0cee61558a
Mention the index when some PostVS data doesn't match ref data in test
2019-01-22 16:55:39 +00:00
baldurk
f140cd9669
Handle shader-program created shaders in GL post-vs fetch. Closes #1244
2019-01-22 16:40:52 +00:00
baldurk
d64ad19f16
Add an optional timeout to Socket::AcceptClient
...
* This is needed since sometimes on tests a localhost socket won't immediately
be available to accept()
2019-01-17 17:51:07 +00:00
baldurk
5d9d77f361
Expand GL buffer updates test to check various combinations of updates
2019-01-17 11:50:09 +00:00
baldurk
7a6e74d158
Refactor GL persistent mapped buffer handling to be more usable
...
* We now take a more vulkan-like approach, by forcing READ_BIT on for
buffers/maps that are coherent, and leaving it alone while idle. During
capture we do the same memcmp & save updates as before.
* This is signifcantly faster while idle, though still slow to capture due to
the number of sync points in GL (per draw). Roughly scales with O(m*n) where m
= number of bytes of memory coherently mapped and n = number of draws in a
frame.
2019-01-17 11:49:41 +00:00
baldurk
7957ef4a33
Fix display string name for ETC texture formats. Closes #1239
...
* EAC has a four-component version, GL_COMPRESSED_RGBA8_ETC2_EAC /
GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC.
* ETC2 has a version with 1-bit alpha.
2019-01-17 10:31:12 +00:00
baldurk
07dbadc0bc
Remove unneeded common v2f code
2019-01-16 16:49:08 +00:00
baldurk
3a064eda7b
Fix GL_Mip_Gen_RT test
2019-01-16 16:48:10 +00:00
baldurk
f395f244eb
Add initial contents and dirtying for high-frequency samplers
...
* For samplers that are updated a lot we fall back to fetching & applying their
state as initial contents.
2019-01-16 13:47:56 +00:00
baldurk
adbf24da77
Use latest set of shaders attached to program for initial states
...
* If multiple shaders are attached to a program only use the latest set as they
override anything that came before.
2019-01-16 13:23:40 +00:00
baldurk
27a4353ffa
Fix out of date python use in documentation examples
2019-01-16 12:38:10 +00:00
baldurk
c4f1062cdd
Don't trash state of uniform buffer offset & size in GLPushPopState
2019-01-16 12:02:30 +00:00
baldurk
62a5e6e8bd
Error if an unsupported device extension is used. Refs #1238
2019-01-15 13:40:57 +00:00
baldurk
26d35d4214
Pass pLayerName correctly when enumerating device extensions
...
* We want to enumerate extensions from the right source, and also only add our
own added extensions if pLayerName == NULL.
2019-01-15 13:40:22 +00:00