todo.txt 7.96 KB
Newer Older
1
event
Laszlo Agocs's avatar
Laszlo Agocs committed
2
res.sh.: example to show read/write same texture
3
threading with rsh with resource - more external sync needed?
Laszlo Agocs's avatar
Laszlo Agocs committed
4
advanced blend modes
Laszlo Agocs's avatar
Laszlo Agocs committed
5
gl: tex formats (texture, readback)
6
gl: srgb? (glEnable and co.)
7
should istexformatsupported should check srgb combinations
Laszlo Agocs's avatar
Laszlo Agocs committed
8
vk: image in wrong layout when beginFrame-endFrame without a pass in it
Laszlo Agocs's avatar
Laszlo Agocs committed
9 10
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?
11
reduce viewport/scissor/other state changes in a pass
12 13
vk: test FrameOpDeviceLost somehow
d3d device loss?
14 15 16
more what-if-resource-rebuilt cases
anisotropic
gl: more ubuf types
17
more QImage->tex formats
Laszlo Agocs's avatar
Laszlo Agocs committed
18
if tex adjust its size (e.g. npot on gl), should QImage get scaled automatically?
19
pool staging/readback buffers?
20 21
d3d, gl, mtl: cache shader sources?
gl: ubuf structs, arrays
Laszlo Agocs's avatar
Laszlo Agocs committed
22 23
test cubemap face as target
test cubemap face readback
24
object names for other than buf/rb/tex
Laszlo Agocs's avatar
Laszlo Agocs committed
25 26

optional:
27
compute?
Laszlo Agocs's avatar
Laszlo Agocs committed
28
mtl: drawable warning?
29
gl: target QOpenGLWindow/Widget?
Laszlo Agocs's avatar
Laszlo Agocs committed
30
threading options? secondary command lists?
31
copy/transfer queue?
32
vkmemalloc block size config?
Laszlo Agocs's avatar
Laszlo Agocs committed
33
d3d: support DxcCompiler (in addition to d3dcompiler?) when runtime compiling hlsl?
34 35
tessellation?
indirect draw?
36
vk: msaa texture or msaa color renderbuffer could be lazy/transient when only used with resolve
Laszlo Agocs's avatar
Laszlo Agocs committed
37
vk: subpasses?
38
more tex: 3d, array?
Laszlo Agocs's avatar
Laszlo Agocs committed
39
vk compressed tex: could it consume a complete ktx without any memcpys?
Laszlo Agocs's avatar
Laszlo Agocs committed
40
multi mip/layer copy? (fewer barriers...)
Laszlo Agocs's avatar
Laszlo Agocs committed
41
multi-buffer (region) readback?
Laszlo Agocs's avatar
Laszlo Agocs committed
42 43
depth readback?
copy image depth?
44
gl: markers and object names via gl_khr_debug
45

Laszlo Agocs's avatar
Laszlo Agocs committed
46
shadertools:
47
dxc for d3d as an alternative to fxc?
48
hlsl -> dxc -> spirv -> spirv-cross hmmm...
49 50

+++ done
51
res.sh.: mtl
Laszlo Agocs's avatar
gl: rsh  
Laszlo Agocs committed
52
res.sh.: gl
53 54 55
res.sh.: exercise it in multiwindow_threaded too
res.sh.: vk, d3d
res.sh.: rhi resource tracking, isSharable, orphaning, ...
Laszlo Agocs's avatar
Laszlo Agocs committed
56
res.sh.: example to show using same texture
57
revise create() and importing external device objects
58
revise structs in api
59 60
primitive restart
fix independent builds
Laszlo Agocs's avatar
Laszlo Agocs committed
61
basic docs
62
vk, d3d, mtl: minimize vertex input changes inside passes
63
mtl: cbuffers, textures, samplers set should be batched too
Laszlo Agocs's avatar
Laszlo Agocs committed
64
mtl: reduce set*
65
mtl: report readback temp buf
66
vk: support instanceStepRate via VK_EXT_vertex_attribute_divisor
67 68
resize to 0 width or height fails (vk, d3d)
vk: rendering hangs sometimes when minimize and back on some systems?
69 70
allow requesting no-vsync present mode where applicable
d3d: timestamp query
71
vk: timestamp query
72
prof: report readback temp buf
73
merge offscreen examples into one
74
mtl: max texture size
75
vk: obj name and debug markers
76
vk, gl: tex and other prof
77
max texture size stuff
Laszlo Agocs's avatar
Laszlo Agocs committed
78
d3d: tex and other prof
79
plainqwindow examples should be reorganized into one (using examplefw)
80
d3d: debug markers, object names
Laszlo Agocs's avatar
Laszlo Agocs committed
81
d3d: texture import/export
82
vk: memalloc stats to prof
83
mtl: debug: markers (begin, end, msg)
84
mtl: debug: object names
Laszlo Agocs's avatar
Laszlo Agocs committed
85
prof: cbor output from resource logs
86
mtl: buf/tex/rb/sc prof
87
mtl, gl, vk: texture import/export
88 89
rhi native handle getter (device, ...)
imgui example
90
vk: shouldn't just qFatal
Laszlo Agocs's avatar
Laszlo Agocs committed
91
mtl: multiwindow
Laszlo Agocs's avatar
Laszlo Agocs committed
92
multi window? (multi swapchain) -> trouble
Laszlo Agocs's avatar
Laszlo Agocs committed
93
test cubemap
94
what if window is changed on swapchain (vk, d3d may break as of now)
Laszlo Agocs's avatar
Laszlo Agocs committed
95
mtl: finish()
96 97
mtl: readback (tex, backbuffer)
mtl: rhi without a window, offscreen frame
98
mtl: compressed textures
99
mtl: srgb (tex, swapchain buf)
100
change how resolve is done
Laszlo Agocs's avatar
Laszlo Agocs committed
101
mtl: color renderbuffer
102 103
targeting mip level in texrt
mtl: targeting cubemap faces
104 105
mtl: cubemaps
mtl: msaa tex+rt
106
clear window vs surface/layer size mess
107
mtl: msaa (onscreen)
108
mtl: buffer upload with offset/size
Laszlo Agocs's avatar
Laszlo Agocs committed
109
mtl: texcopy
110
mtl: tex upload with pos
Laszlo Agocs's avatar
Laszlo Agocs committed
111
mtl: mipmap generation
Laszlo Agocs's avatar
Laszlo Agocs committed
112
vk, d3d, gl: mipmap gen
113
msaa swapchain readback
Laszlo Agocs's avatar
Laszlo Agocs committed
114 115 116
d3d: resolveimage (color)
vk: resolveimage (color)
gl: resolveimage (color)
Laszlo Agocs's avatar
Laszlo Agocs committed
117 118 119 120
vk: color renderbuffer
d3d: color renderbuffer
gl: color renderbuffer
vk: msaa tex+rt
121
gl: buffer upload with offset/size
Laszlo Agocs's avatar
Laszlo Agocs committed
122 123 124
d3d: buffer upload with offset/size
vk: buffer upload with offset/size
buffer upload with offset
125
resourceUpdate (run updates without begin/endPass)
126
resourceUpdates in endPass
Laszlo Agocs's avatar
Laszlo Agocs committed
127 128
d3d: msaa tex+rt
multisample texture (and tex rt) (no readback)
129
gl: compressed textures
Laszlo Agocs's avatar
Laszlo Agocs committed
130
vk, gl: texcopy
131
move cb api into QRhiCommandBuffer
132 133
d3d: texcopy
copyimage (color, with rect?, no resolve or transforms here)
134
vk, d3d, gl: tex upload with pos
135
res upd batch combine
136
gl: offscreen frame, readback
Laszlo Agocs's avatar
Laszlo Agocs committed
137
d3d: readback
138
d3d: offscreen frame
139
vk: read back the backbuffer
140
vk: readback size/formats
141
vk: readback
142 143 144 145
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
146
vk: compressed textures (etc2, astc, bc)
147
vk: srgb (tex, swapchain buf)
148 149
d3d: srgb support (texture, swapchain buf)
d3d: support for compressed textures (bc)
150 151 152
d3d: msaa (onscreen)
bytecode for metal
bytecode (fxc) for d3d
153 154
vk: im.layout transition missing when no upload, no render to (or is the case invalid?)
vk, d3d: verify no-color-just-depth again
155
preservecolor applies to which att. (all -> fix mtl)
Laszlo Agocs's avatar
Laszlo Agocs committed
156
mtl: depth tex
Laszlo Agocs's avatar
Laszlo Agocs committed
157
mtl: mrt
158
mtl: texture rt
159
mtl: batch better in setVertexBuffers
160
spirv-cross error reporting (must enable exceptions and catch all in shadertools, no other way)
161
mtl: should currentPassEncoder & co. be in the cb data instead?
162
mtl: drop texture staging buf when !ChangesFrequently
163 164
mtl: stagingBuffer should be per frame to be safe
vk: per frame staging buffers
Laszlo Agocs's avatar
Laszlo Agocs committed
165
mtl: mipmap upload
Laszlo Agocs's avatar
Laszlo Agocs committed
166 167
mtl: indexed draw
mtl: basic texture
168
texture ChangesInfrequently -> ChangesFrequently
Laszlo Agocs's avatar
Laszlo Agocs committed
169
mtl: depth-stencil
Laszlo Agocs's avatar
Laszlo Agocs committed
170
mtl: buffer logic is borked
Laszlo Agocs's avatar
Laszlo Agocs committed
171 172
mtl: fix Dynamic for non-uniform buffers
mtl: forcing immut. to Shared should not need multiple backing buffers
173
d3d: very basic adapter selection
174
what's up with instance step rate
175
remove geometry shader from enum
176 177 178
hlsl version config to qsb
msl version config to qsb
version to qsb data stream
Laszlo Agocs's avatar
Laszlo Agocs committed
179
upgrade vkmemalloc
Laszlo Agocs's avatar
Laszlo Agocs committed
180
mtl: shader lang. version
181
rename res pattern to new-build-release (from create-build-release)?
Laszlo Agocs's avatar
Laszlo Agocs committed
182 183
make rp dep in ps less invasive (rethink how QRhiRenderPass is handled)
review swapchain param handling
184
gl: offscreensurface ownership not taken (fix examples)
185
d3d: why rtv/dsv in rp -> should be in rtD
Laszlo Agocs's avatar
Laszlo Agocs committed
186
new "minimal" example
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 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240
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