baldurk
a5c54b3ce7
Don't pass event ID to PickVertex()
...
* It's meaningless to try and pick on any other event but the current one
2020-01-20 17:44:34 +00:00
baldurk
210626ae18
When updating postvs position/secondary configs, reset camera properties
2020-01-20 14:32:22 +00:00
baldurk
cd3ef3dd55
Fix near/far plane specifiers being backwards
2020-01-20 14:28:59 +00:00
baldurk
4a587da167
Account for byte offset when expanding arrays in bufferviewer formatter
2020-01-17 19:53:38 +00:00
baldurk
2916c0f9f7
Update copyright years to 2020
2020-01-06 16:20:45 +00:00
baldurk
27098f8f70
Give our threads debugger-friendly names
2019-12-19 21:50:13 +00:00
baldurk
c82d0f58b9
Rename WASD to Flycam in mesh viewer controls
...
* This should now work regardless of keyboard layout, e.g. on AZERTY the same
physical keys will still work. We also add arrow keys as a backup
2019-12-13 16:37:14 +00:00
baldurk
24e4f4179f
Fix projection guessing controls sometimes being enabled when unused
2019-12-13 16:36:44 +00:00
baldurk
f514815e3c
Update buffer formatter help text, save its visibility in config
2019-11-29 13:53:45 +00:00
baldurk
e205054317
Add UI support for GPU typed pointers in buffers
2019-11-29 13:53:44 +00:00
baldurk
b3979262a5
Replace FormatElement with ShaderConstant/ShaderVariableType
...
* FormatElement is now a static BufferFormatter class to help generate and parse
buffer formatting strings
2019-11-29 13:53:44 +00:00
baldurk
324b96c977
Remove FormatElement::byteSize(), move to ResourceFormat
2019-11-29 13:53:44 +00:00
baldurk
00170e2ec3
Make GetVariants a free function taking interpreting format directly
...
* We also store the format in BufferElementProperties for the buffer viewer
since we'll later remove the ResourceFormat stored in FormatElement
2019-11-29 13:53:44 +00:00
baldurk
f046423664
Split buffer-centric properties out of FormatElement
2019-11-29 13:53:44 +00:00
baldurk
db563bb0bf
Refactor public interface around handling of textures
...
* Subresource handling is more consistent - we pass around a struct now that
contains the array slice, mip level, and sample. We remove the concept of
'MSAA textures count samples as extra slices within the real slices' and
internalise that completely. This also means we have a consistent set
everywhere that we need to refer to a subresource.
* Functions that used to be in the ReplayOutput and use a couple of implicit
parameters from the texture viewer configuration are now in the
ReplayController and take them explicitly. This includes GetMinMax,
GetHistogram, and PickPixel.
* Since these functions aren't ReplayOutput relative, if you want to decode the
custom shader texture or the overlay texture you need to pass that ID
directly.
2019-11-26 17:38:25 +00:00
baldurk
6201183504
Fix broken buffer viewer UI protection
2019-11-15 18:33:17 +00:00
baldurk
07e8731776
Protect against buffer view being closed during async render thread work
2019-11-13 17:25:01 +00:00
baldurk
a08455c4fb
Don't crash if vertex buffer stride is 0 when picking vertices
2019-10-23 11:23:32 +01:00
baldurk
03ddc61779
Support rich resource text in buffer viewer
2019-10-15 15:05:38 +01:00
baldurk
d48b84d8f5
Pass buffer length to format string parse, for better default format
...
* If we are only looking at a 4-byte buffer, don't use a uint4 default or it
will fail to display anything
2019-10-15 10:54:42 +01:00
baldurk
54291b0e29
Fix linux compilation (again)
2019-09-07 12:06:05 +01:00
baldurk
7fe044faaf
Fix display of 64-bit integers in buffer viewer
2019-09-07 09:24:46 +01:00
baldurk
07158ad24c
Fix support for triangle fans on GL/Vulkan
2019-08-20 15:33:12 +01:00
baldurk
61de35bfc6
Pass through primitive restart state when rendering meshes
2019-08-12 17:53:22 +01:00
Tillmann Karras
622c8bdb0e
BufferViewer: fix 2/4-byte primitive restart
2019-07-24 11:24:09 +01:00
Tillmann Karras
f61a5e464c
BufferViewer: never leave indices uninitialized
2019-07-24 11:24:09 +01:00
baldurk
e525630a17
Add special resource type for A8_UNORM. Closes #1426
...
* While it's redundant this format is still valid in D3D so needs to be handled
correctly.
2019-06-25 19:08:07 +01:00
baldurk
70007d0794
Don't consider interim position builtins to be projected/rasterized
...
* Even if the VS outputs to the position builtin, if there's a tessellation or
geometry shader consuming it that doesn't mean much.
2019-06-05 17:57:28 +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
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
2320bb5391
Pass the right MeshDataStage to HasAlignedPostVSData()
2019-04-12 16:51:35 +01:00
baldurk
2ddf3b7adf
Auto-fit the WASD camera to the bounding box after switching
...
* We do the same for the arcball, there's no reason the flycam should default to
the origin for vertex inputs
2019-04-09 11:09:22 +01:00
baldurk
db89f50a30
Rename Mesh Output panel to Mesh Viewer, since it displays inputs too
2019-03-08 15:40:11 +00:00
baldurk
95f07ab6df
Add missing deref of buffer data in mesh view
2019-03-01 12:47:29 +00:00
baldurk
301ef89aac
Only calculate bounding box data on mesh views
2019-03-01 11:34:15 +00:00
baldurk
ac37a592cc
Refactor BufferViewer to avoid race conditions
...
* We now push everything mutable about the draw data configuration into a single
struct which we copy around (the actual buffer data remains refcounted and not
copied). This means that we don't have one thread still trying to do things on
a model which is being updated on another thread.
2019-02-28 17:48:30 +00:00
baldurk
24882eb486
When event changes in BufferViewer, preserve row offset don't reset
2019-02-15 15:10:31 +00:00
baldurk
73a5357419
Fix handling of primitive restart with a vertex offset
2019-02-04 18:06:09 +00:00
baldurk
86ff87863e
Update copyright years to 2019
2019-02-01 18:32:13 +00:00
baldurk
317e89f7cb
Add QIODevice::Text for text writing, to convert newlines. Refs #1246
2019-01-28 19:55:39 +00:00
baldurk
58e2c88e76
Don't custom size horizontal header by default in RDTableView
2018-12-17 17:10:33 +00:00
baldurk
68b23c5f62
Add support for YUV resource formats
...
* We handle 4:4:4, 4:2:2, and 4:2:0, with packed, 2-plane and 3-plane formats,
for 8, 10, 12, and 16 bit depths.
* This covers most common formats but still leaves a few out - NV11, palettised
formats, V208/V408 JPG formats.
2018-12-11 19:57:20 +00:00
baldurk
74ce0d92fd
Pad 0 with a preceeding space for signed integer display in buffers
...
* This means that it lines up with -1 the same as positive numbers do
2018-11-14 18:32:34 +00:00
baldurk
8447e43e78
Fix panel menus
2018-10-23 15:15:39 +01:00
baldurk
94dfb9890b
Allow registering window, panel and context menu items with callbacks
2018-10-23 14:23:12 +01:00
baldurk
b5854f0fec
Implement VK_EXT_transform_feedback, and use it for mesh output
...
* For pipelines using tessellation or containing a geometry shader we use
transform feedback to fetch the output of the vertex pipeline after these
stages.
2018-10-16 16:53:03 +01:00
baldurk
615b743b8e
Make shader debugging soft-blocking, pop up progress bar while working
...
* This prevents the user from accidentally triggering some other process while
the debug is still on-going, if it's taking a while.
2018-10-08 17:24:00 +01:00