todo.txt 7.41 KB
Newer Older
Laszlo Agocs's avatar
Laszlo Agocs committed
1
prof report api (fed by a cbor stream)
2
3
4
gl: debug: object names
gl: debug: markers (begin, end, msg)
prof: report readback temp buf
5
multiwindow_threaded should demo pulling out the device and importing to another rhi
6
merge offscreen examples into one
7
mtl: reduce set*
Laszlo Agocs's avatar
Laszlo Agocs committed
8
advanced blend modes
Laszlo Agocs's avatar
Laszlo Agocs committed
9
10
gl: tex formats (texture, readback)
gl: srgb
11
should istexformatsupported should check srgb combinations
Laszlo Agocs's avatar
Laszlo Agocs committed
12
vk: image in wrong layout when beginFrame-endFrame without a pass in it
Laszlo Agocs's avatar
Laszlo Agocs committed
13
14
15
16
vk: rendering hangs sometimes when minimize and back on some systems?
mtl: cbuffers, textures, samplers set should be batched too
cbuffer alignment rules - some things fail to translate (to hlsl e.g. with structs), which is fine but how to mitigate
what does image copy do for compressed formats?
17
figure sg out for minimizing viewport/scissor cmds
18
19
vk: test FrameOpDeviceLost somehow
d3d device loss?
20
21
22
more what-if-resource-rebuilt cases
anisotropic
gl: more ubuf types
23
more QImage->tex formats
Laszlo Agocs's avatar
Laszlo Agocs committed
24
if tex adjust its size (e.g. npot on gl), should QImage get scaled automatically?
25
26
27
d3d, gl, mtl: cache shader sources?
resize to 0 width or height fails (vk)
gl: ubuf structs, arrays
28
gl: target QOpenGLWindow/Widget?
29
compute?
Laszlo Agocs's avatar
Laszlo Agocs committed
30
vk: support instanceStepRate via VK_EXT_vertex_attribute_divisor
Laszlo Agocs's avatar
Laszlo Agocs committed
31
32
test cubemap face as target
test cubemap face readback
33
object names for other than buf/rb/tex
Laszlo Agocs's avatar
Laszlo Agocs committed
34
35
36

optional:
threading options? secondary command lists?
37
copy/transfer queue?
38
vkmemalloc block size config?
Laszlo Agocs's avatar
Laszlo Agocs committed
39
d3d: support DxcCompiler (in addition to d3dcompiler?) when runtime compiling hlsl?
40
41
tessellation?
indirect draw?
42
vk: msaa texture or msaa color renderbuffer could be lazy/transient when only used with resolve
Laszlo Agocs's avatar
Laszlo Agocs committed
43
vk: subpasses?
44
more tex: 3d, array?
Laszlo Agocs's avatar
Laszlo Agocs committed
45
vk compressed tex: could it consume a complete ktx without any memcpys?
Laszlo Agocs's avatar
Laszlo Agocs committed
46
multi mip/layer copy? (fewer barriers...)
Laszlo Agocs's avatar
Laszlo Agocs committed
47
multi-buffer (region) readback?
Laszlo Agocs's avatar
Laszlo Agocs committed
48
49
depth readback?
copy image depth?
50

Laszlo Agocs's avatar
Laszlo Agocs committed
51
shadertools:
52
dxc for d3d as an alternative to fxc?
53
hlsl -> dxc -> spirv -> spirv-cross hmmm...
54
55

+++ done
56
mtl: max texture size
57
vk: obj name and debug markers
58
vk, gl: tex and other prof
59
max texture size stuff
Laszlo Agocs's avatar
Laszlo Agocs committed
60
d3d: tex and other prof
61
plainqwindow examples should be reorganized into one (using examplefw)
62
d3d: debug markers, object names
Laszlo Agocs's avatar
Laszlo Agocs committed
63
d3d: texture import/export
64
vk: memalloc stats to prof
65
mtl: debug: markers (begin, end, msg)
66
mtl: debug: object names
Laszlo Agocs's avatar
Laszlo Agocs committed
67
prof: cbor output from resource logs
68
mtl: buf/tex/rb/sc prof
69
mtl, gl, vk: texture import/export
70
71
rhi native handle getter (device, ...)
imgui example
72
vk: shouldn't just qFatal
Laszlo Agocs's avatar
Laszlo Agocs committed
73
mtl: multiwindow
Laszlo Agocs's avatar
Laszlo Agocs committed
74
multi window? (multi swapchain) -> trouble
Laszlo Agocs's avatar
Laszlo Agocs committed
75
test cubemap
76
what if window is changed on swapchain (vk, d3d may break as of now)
Laszlo Agocs's avatar
Laszlo Agocs committed
77
mtl: finish()
78
79
mtl: readback (tex, backbuffer)
mtl: rhi without a window, offscreen frame
80
mtl: compressed textures
81
mtl: srgb (tex, swapchain buf)
82
change how resolve is done
Laszlo Agocs's avatar
Laszlo Agocs committed
83
mtl: color renderbuffer
84
85
targeting mip level in texrt
mtl: targeting cubemap faces
86
87
mtl: cubemaps
mtl: msaa tex+rt
88
clear window vs surface/layer size mess
89
mtl: msaa (onscreen)
90
mtl: buffer upload with offset/size
Laszlo Agocs's avatar
Laszlo Agocs committed
91
mtl: texcopy
92
mtl: tex upload with pos
Laszlo Agocs's avatar
Laszlo Agocs committed
93
mtl: mipmap generation
Laszlo Agocs's avatar
Laszlo Agocs committed
94
vk, d3d, gl: mipmap gen
95
msaa swapchain readback
Laszlo Agocs's avatar
Laszlo Agocs committed
96
97
98
d3d: resolveimage (color)
vk: resolveimage (color)
gl: resolveimage (color)
Laszlo Agocs's avatar
Laszlo Agocs committed
99
100
101
102
vk: color renderbuffer
d3d: color renderbuffer
gl: color renderbuffer
vk: msaa tex+rt
103
gl: buffer upload with offset/size
Laszlo Agocs's avatar
Laszlo Agocs committed
104
105
106
d3d: buffer upload with offset/size
vk: buffer upload with offset/size
buffer upload with offset
107
resourceUpdate (run updates without begin/endPass)
108
resourceUpdates in endPass
Laszlo Agocs's avatar
Laszlo Agocs committed
109
110
d3d: msaa tex+rt
multisample texture (and tex rt) (no readback)
111
gl: compressed textures
Laszlo Agocs's avatar
Laszlo Agocs committed
112
vk, gl: texcopy
113
move cb api into QRhiCommandBuffer
114
115
d3d: texcopy
copyimage (color, with rect?, no resolve or transforms here)
116
vk, d3d, gl: tex upload with pos
117
res upd batch combine
118
gl: offscreen frame, readback
Laszlo Agocs's avatar
Laszlo Agocs committed
119
d3d: readback
120
d3d: offscreen frame
121
vk: read back the backbuffer
122
vk: readback size/formats
123
vk: readback
124
125
126
127
vk: implement finish()
some wait-gpu stuff for waiting for readback results inside a begin-endFrame f.ex.
readback api
rhi without a window, fully offscreen
Laszlo Agocs's avatar
Laszlo Agocs committed
128
vk: compressed textures (etc2, astc, bc)
129
vk: srgb (tex, swapchain buf)
130
131
d3d: srgb support (texture, swapchain buf)
d3d: support for compressed textures (bc)
132
133
134
d3d: msaa (onscreen)
bytecode for metal
bytecode (fxc) for d3d
135
136
vk: im.layout transition missing when no upload, no render to (or is the case invalid?)
vk, d3d: verify no-color-just-depth again
137
preservecolor applies to which att. (all -> fix mtl)
Laszlo Agocs's avatar
Laszlo Agocs committed
138
mtl: depth tex
Laszlo Agocs's avatar
Laszlo Agocs committed
139
mtl: mrt
140
mtl: texture rt
141
mtl: batch better in setVertexBuffers
142
spirv-cross error reporting (must enable exceptions and catch all in shadertools, no other way)
143
mtl: should currentPassEncoder & co. be in the cb data instead?
144
mtl: drop texture staging buf when !ChangesFrequently
145
146
mtl: stagingBuffer should be per frame to be safe
vk: per frame staging buffers
Laszlo Agocs's avatar
Laszlo Agocs committed
147
mtl: mipmap upload
Laszlo Agocs's avatar
Laszlo Agocs committed
148
149
mtl: indexed draw
mtl: basic texture
150
texture ChangesInfrequently -> ChangesFrequently
Laszlo Agocs's avatar
Laszlo Agocs committed
151
mtl: depth-stencil
Laszlo Agocs's avatar
Laszlo Agocs committed
152
mtl: buffer logic is borked
Laszlo Agocs's avatar
Laszlo Agocs committed
153
154
mtl: fix Dynamic for non-uniform buffers
mtl: forcing immut. to Shared should not need multiple backing buffers
155
d3d: very basic adapter selection
156
what's up with instance step rate
157
remove geometry shader from enum
158
159
160
hlsl version config to qsb
msl version config to qsb
version to qsb data stream
Laszlo Agocs's avatar
Laszlo Agocs committed
161
upgrade vkmemalloc
Laszlo Agocs's avatar
Laszlo Agocs committed
162
mtl: shader lang. version
163
rename res pattern to new-build-release (from create-build-release)?
Laszlo Agocs's avatar
Laszlo Agocs committed
164
165
make rp dep in ps less invasive (rethink how QRhiRenderPass is handled)
review swapchain param handling
166
gl: offscreensurface ownership not taken (fix examples)
167
d3d: why rtv/dsv in rp -> should be in rtD
Laszlo Agocs's avatar
Laszlo Agocs committed
168
new "minimal" example
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
cubemap face as target
test mrt
vk: mrt
d3d: mrt
texture rt api revamp
test mipmap
vk: texture filtering
d3d: texture filtering
gl: texture filtering
cubemaps, pregenerated mipmap, upload multiple faces/mipmaps in one copy
d3d: depth only offscreen pass
vk: depth only offscreen pass
vk, d3d: test depth texture
bring up metal
d3d: tex/sampler for vs
vk: free staging buffer for textures after upload when ChangesInfrequently is set
immutable-or-not flag for QRhiTexture? (could drop staging alloc after 1st upload when immut.)
vk: free staging buffer for immutable buffers after upload
vk: verify msaa (onscreen)
revise how clear values are handled (ref, not ptr)
d3d/vk: fix Dynamic for non-uniform buffers
switch to immutable - static - dynamic buffer types (backends may not care for now)
make clearValues optional in beginPass (when preserving contents for offscreen)
drop front-and-back cull
vk should update lastActiveFrameSlot even when cur.obj is same
exercise indexed drawing
gl setGraphicsPipeline should track srb->generation and issue BindGraphicsPipeline when different
d3d to track buffer, texture, sampler generation and update the buffer/srv/sampler in the batchedbinding lists
d3d setGraphicsPipeline should track srb->generation and issue BindGraphicsPipeline when different
scissor-enable flag
drop triangle fan
do something with offset and size in srb::Binding::uniformBuffer
start d3d11 backend
what if ps is rebuilt
move correctionmatrix to backend
remove some inlines in public api
hide virtuals
remove QVk*Private
buf rebuilt -> srb? srb rebuilt -> ps? texture rebuilt -> texture rt?
hide VkSurfaceKHR from api
vkcmdcopybuffertoimage
test upload+render-to (preserved)
barriers
rendertarget
scheduleRelease -> releaseLater (+ update recreate example)
static buffer -> gpu_only, staging cpu_only, vkCmdCopyBuffer
textures
msaastencil
depth
bring back startBinding
pipeline obj destroy (deferred d.list?)
shader resource if.
topology, cull
blend