summaryrefslogtreecommitdiffstats
path: root/examples/hello-world/main.cpp
diff options
context:
space:
mode:
authorTim Foley <tfoleyNV@users.noreply.github.com>2021-02-17 16:53:17 -0800
committerGitHub <noreply@github.com>2021-02-17 16:53:17 -0800
commit62a0193dff6986d2ce96867702c3d31371652cc9 (patch)
tree34f924fa0bf058bdbf15152bbcc257b9f8be18c5 /examples/hello-world/main.cpp
parent360d4f7a17a066cc878cdb2c558464bfdeaa3418 (diff)
Use CPU memory for shader object ordinary data (#1714)
This change makes it so that the shared shader object implementation across graphics APIs (everything except CUDA and CPU) uses a host-memory buffer to store ordinary (aka "uniform") data while the shader object is being set up / modified, and then allocates and initializes a GPU-memory buffer for the data on-demand once setup is complete. This choice is a necessary step for supporting interface/existential-type fields in the presence of static specialization, because any fixed-size GPU buffer we would try to allocate at the time an object is first created might not turn out to be large enough if static specialization must handle a concrete type that doesn't "fit" into the fixed-size space reserved for an existential value (resulting in the value having to be placed in an overflow region outside the original object). This change does *not* include any of the work related to actually laying out existential-type fields in this fashion. It instead just focuses on changing when and where the GPU memory allocation is performed to one that is more appropriate for those subsequent changes.
Diffstat (limited to 'examples/hello-world/main.cpp')
0 files changed, 0 insertions, 0 deletions