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
baldurk
fcb74d2f7c
Don't try to display vertex buffer if we should be using generics
2018-09-25 18:20:27 +01:00
baldurk
5406227152
Call CreateWindowingData on the main UI thread
...
* This allows mac to patch-up the widget to be renderable, and has to happen on
the UI thread.
2018-08-31 22:14:12 +01:00
baldurk
5024f80ee9
Make code more robust if indexed draw has unbound ibuffer. Closes #1085
2018-08-28 18:23:57 +01:00
baldurk
d79ead308f
Make a little more room in VTX/IDX columns in buffer viewer
2018-08-03 14:47:15 +01:00
baldurk
53364adeef
Support mesh output from different view indices on vulkan
...
* When using VK_KHR_multiview you can select which view to view the mesh data from.
2018-06-19 20:48:30 +01:00
baldurk
45c3c27923
Rename DrawFlags::UseIBuffer to DrawFlags::Indexed
2018-06-15 19:40:54 +01:00
baldurk
4de23d8d8b
Fetch enough data even for odd vertex attribute offsets. Closes #1007
2018-06-05 21:08:06 +01:00
baldurk
fe8cbfcc8c
Handle different actual indices vs. displayed indices exporting VS Out
...
* For VS Out data the actual offsets may be different than displayed, so we
calculate manually rather than querying the model for each index.
2018-06-04 20:12:27 +01:00
baldurk
082ab4d75d
GUIInvoke takes a QObject* to avoid callbacks after object lifetime
...
* The GUIInvoke object takes a QObject, and uses QPointer to check that
it hasn't been deleted when the callback fires. This prevents delayed
callbacks from executing after the object has been deleted and
crashing.
* In most cases the pointer is just 'this'.
2018-05-08 11:54:34 +01:00
baldurk
2974ca8d12
Delete replay outputs on replay thread, not on UI thread
...
* On OpenGL this can cause problems with not being able to make the
output context current because it's already current on the replay
thread.
2018-04-05 12:34:22 +01:00
Baldur Karlsson
f8a0aeef1f
Skip vertex buffers with invalid byte stride
2018-03-13 13:04:36 +00:00
Baldur Karlsson
98041c5b93
Try to protect against invalid draw counts without crashing
...
* This can be especially error-prone with indirect draws where the
parameters are GPU-fed and may point to random memory.
2018-03-12 15:46:45 +00:00
Baldur Karlsson
669589b3f8
Preserve mesh tables horiz scroll when picking vertices or syncing views
2018-03-12 15:46:45 +00:00
Baldur Karlsson
1a268ace8b
Add async tags for display widget painting
...
* This prevents widget painting from getting out of control and queuing
up many redundant paints which slows down processing of the command
queue.
* Also remove a spammy command to disable pixel context that only ever
got called when pixel context was already disabled (right after a
reset - at all other times it stays active).
2018-03-12 15:46:44 +00:00
ashleysmithgpu
ecccb6973a
Buffer viewer now updates contents when EID changes
2018-02-27 15:25:46 +00:00
baldurk
4a2242f0a1
Make checkerboard colours update immediately when theme changes
2018-02-21 14:29:36 +00:00
baldurk
57712ea691
Fix mesh output 'sync views' - need to walk parent stack to tableview
2018-02-12 20:47:59 +00:00
baldurk
96c487c8c0
Use absolute dimensions of viewport to calculate aspect ratio. Refs #856
...
* On vulkan the viewport height could be negative to flip the NDC, but
we don't care about its sign only its magnitude to calculate the
aspect ratio.
2018-02-02 17:29:12 +00:00
baldurk
d6b6fcf2c1
Only export NULLs if something actually went wrong!
2018-02-02 16:09:24 +00:00
baldurk
8f405a2197
Render mesh data with instanced properties correctly.
2018-01-24 16:14:22 +00:00
baldurk
f0c6323685
Don't update buffer viewer display if we just mousemove without clicking
2018-01-24 12:38:28 +00:00
baldurk
65ef82466c
Re-organise Analytics structures a bit to be more processing friendly
2018-01-19 13:57:02 +00:00
baldurk
5e819a6e23
Ensure mesh columns list is cleared before reconfiguring
2018-01-16 20:12:06 +00:00
baldurk
aba8dacd25
Use baseVertex value from PostVS data
2018-01-16 20:12:04 +00:00