diff options
| author | Tim Foley <tfoleyNV@users.noreply.github.com> | 2021-02-17 16:53:17 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-17 16:53:17 -0800 |
| commit | 62a0193dff6986d2ce96867702c3d31371652cc9 (patch) | |
| tree | 34f924fa0bf058bdbf15152bbcc257b9f8be18c5 /.github | |
| parent | 360d4f7a17a066cc878cdb2c558464bfdeaa3418 (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 '.github')
0 files changed, 0 insertions, 0 deletions
