baldurk
a856b6ebbe
Fix VK_Buffer_Address shader compilation
2019-05-23 15:38:22 +01:00
baldurk
4cec51ff6a
Use demo project name to determine test availability
...
* This is better than testing by platform/platform version, because we can check
specifically for extensions and avoid running a test we know will fail because
extensions aren't supported.
2019-05-23 14:03:47 +01:00
baldurk
ec8564642a
Refactor demo API test initialisation order
...
* Instead of only doing a very lightweight check to see if the API is available
up-front, we now share the API initialisation among all API tests far enough
to determine availability of extensions, features, etc. Then we can precisely
determine which tests are available and which aren't before running.
2019-05-23 13:18:37 +01:00
baldurk
efb8788c52
Identify the demos binary in scripts, and allow manual configuration
2019-05-23 11:07:37 +01:00
baldurk
eb6f04f941
Build demos project to demos_x64 or demos_x86 on windows and linux
2019-05-23 10:51:58 +01:00
baldurk
e0275bc92b
Replace use of tmpnam which warns on linux at link time
2019-05-23 10:29:27 +01:00
baldurk
69e55628c2
Handle all enum values in switch
2019-05-23 10:29:12 +01:00
baldurk
5b6b723428
Remove useless casts to parent class
2019-05-23 10:29:03 +01:00
baldurk
e4333291a1
Allow using shader processing tools for custom shaders
...
* This is primarily useful for HLSL on Vulkan, but could be used with any other
combination. If multiple tools can perform the conversion, the highest
priority one is used.
2019-05-22 17:54:10 +01:00
baldurk
694524c7bd
Allow querying the shader encoding supported by custom shaders
...
* This is distinct from target shaders in the remote proxy case - custom shaders
are built locally.
2019-05-22 16:09:18 +01:00
baldurk
55107a6144
Only display textual shader encodings for shader compile options
2019-05-22 16:08:31 +01:00
baldurk
807345fd0f
Add auto-detection for dxc as a shader processing tool
2019-05-22 14:16:02 +01:00
baldurk
69e4be52cf
Display bounding box data in mesh view camera panel
...
* This isn't the best place for it but it makes the most sense for now.
2019-05-22 13:57:23 +01:00
baldurk
074070b1cf
Only unproject position attributes that output a position. Closes #1363
...
* If we select a UV attribute to draw as position we don't want to unproject it
for display, just treat it as we do any normal attribute.
2019-05-22 13:38:20 +01:00
baldurk
467dd5e808
Fix calculation of bounding boxes for non-4 component attributes
...
* If we only have 3 or 2 components, set the remaining bounding box values to 0
so they aren't set at +/- FLT_MAX.
2019-05-22 12:40:56 +01:00
baldurk
dd77b8a2b6
Fix order-of-operations, update position/secondary columns first
...
* We need to have the correct position and secondary columns before updating the
mesh configuration that references them.
2019-05-22 12:40:19 +01:00
baldurk
2573dffde7
Remove MAP_UNSYNCHRONIZED_BIT from GL persistent maps
...
* This is required because we add MAP_READ_BIT and the spec doesn't allow maps
that are both unsynchronized and reading.
* Also add a test for unsynchronised persistent maps, and update the
GL_Buffer_Updates test to not require a reference image but check each quad
individually for the expected colour.
2019-05-22 12:04:33 +01:00
baldurk
09d7387db2
Add replay API note that top-left co-ordinates are expected
...
* This is only relevant on GL where co-ordinates are bottom-left, so translation
from e.g. viewports or scissors are required.
2019-05-22 12:03:24 +01:00
baldurk
05f044016b
Don't call QObject::connect for a NULL model
2019-05-22 11:33:09 +01:00
baldurk
943a790319
Fix a crash when resizing a header view with all sections hidden
2019-05-22 10:53:52 +01:00
baldurk
775fa9b635
Disconnect item model before deleting RDTreeWidget/RDTreeView
...
* This avoids odd races where some events might be fired mid-destruction and
encounter the item model in an undefined state.
2019-05-21 13:58:38 +01:00
baldurk
c83a087400
Don't pass negative firstMip/firstSlice
...
* These can be -1 to indicate that all mips/slices are available - so pass 0 in
that case.
2019-05-21 13:29:43 +01:00
baldurk
8ab8f42daf
Add GGP files to VS project, fix compilation with removal of 'using std'
2019-05-21 12:11:00 +01:00
baldurk
622291fde9
Set up to let demos project filter list of available tests
...
* This is primarily for the benefit of GL/VK where we need to feature-detect for
some extensions or functionality that requires selecting a device, e.g. D3D12
can be more easily detected with a quick check.
* We'll run this once and cache the results when running tests from python so we
can do a better job of filtering out tests that the current machine doesn't
support.
2019-05-20 16:23:09 +01:00
baldurk
419fa93ebf
Implement GL_ARB_ES3_2_compatibility. Closes #146
2019-05-20 15:01:52 +01:00
baldurk
59ad2ebfa2
Clear stream-out state when clearing pipeline state
2019-05-20 14:16:43 +01:00
baldurk
06feec392d
Use pipeline base mip/slice binding for texture thumbnails. Closes #1327
2019-05-20 13:13:47 +01:00
baldurk
420379c50f
Update glslang to c11e3156 (release 7.11.3214)
2019-05-20 12:40:56 +01:00
baldurk
8aa515a47a
Make drivers m_Events a direct lookup
...
* Rather than doing an expensive iteration for looking up m_Events, just index
by eventId which will be very dense.
2019-05-20 12:24:41 +01:00
baldurk
2397233e8c
Don't wrap counter queries on D3D11, avoid expensive wasteful wrapping
2019-05-20 12:19:59 +01:00
baldurk
c403f5120d
Fix release build compilation
2019-05-17 18:24:25 +01:00
baldurk
88204abc82
When partially replaying a cmd buffer, rebind pipeline state correctly
...
* Even if we're not in a renderpass we still need to bind the graphics pipeline
state
2019-05-17 17:13:48 +01:00
baldurk
3a89a56cc3
Revert accidentally committed vulkan validation layers
2019-05-17 16:47:22 +01:00
baldurk
7206a0cd25
Removing 'use std::vector'
2019-05-17 16:32:56 +01:00
baldurk
725c207ec8
Remove 'using std::list'
2019-05-17 16:32:56 +01:00
baldurk
e48065c96b
Replace use of std::pair with rdcpair wherever possible
...
* Only remaining uses in our code is when we're interacting with std::map where
it uses std::pair internally
2019-05-17 16:32:56 +01:00
baldurk
462772af91
Remove 'using std::set'
2019-05-17 16:32:56 +01:00
baldurk
a965a3a703
Remove 'using std::string'
...
* This will make it easier to replace std::string with rdcstr in future
2019-05-17 16:32:56 +01:00
baldurk
6d47b35cd9
Change GL_Entry_Points test to use more generally available functions
2019-05-17 16:32:55 +01:00
baldurk
ff24c2251a
Account for differing reflection of global uniforms on GL
...
* The reflection might only return the actual used values, but it might return
more so ensure we have handling for that.
2019-05-17 16:32:55 +01:00
baldurk
63728a425f
Add newly-created tests to CMakeLists.txt
2019-05-17 16:32:55 +01:00
baldurk
4aa8e1ebf3
Be more clear in naming which chunks are internal book-keeping
2019-05-17 16:32:55 +01:00
baldurk
8edc01c928
Show the object (whether a sampler or the texture) in GL's sampler state
2019-05-17 16:32:55 +01:00
baldurk
51c50e0da3
Localise addressing mode state display for GL
...
* On GL addressing modes are called wrap modes, and the wrap value is then known
as repeat. If we don't 'localise' this then it can be confusing to show that
it is "Wrap".
2019-05-17 16:32:55 +01:00
baldurk
96cc08b960
Rename 'show disabled' button to 'show unused' as it is clearer
...
* Bindings that are unused aren't disabled - they may in fact be explicitly
enabled - but they are unused by the pipeline which is why they're hidden.
2019-05-17 16:32:55 +01:00
baldurk
06b91f3d57
Update quick start image of timeline bar & remove mention of pip colours
2019-05-17 16:32:55 +01:00
baldurk
8cae484132
Handle all cmake release build types properly
2019-05-17 16:32:55 +01:00
Amit Prakash
f679592add
Fix incorrect loop over counters
...
* This issue was causing additional entries to counter result data
leading to incorrect display in the perfcounter viewer.
2019-05-16 02:11:53 -07:00
baldurk
40268d344d
Fix unit tests on linux
2019-05-15 16:35:03 +01:00
baldurk
102d2218b3
Use glXQueryDrawable instead of XGetGeometry to get size. Closes #1381
...
* XGetGeometry will only work on X IDs so we had a wrap/unwrap pass for
GLXWindows, but that fails for pbuffers and there's no need when
glXQueryDrawable can query sizes just as well.
2019-05-15 14:12:18 +01:00