Vulkan: Clearing Storage Buffers #105487
|
@ -47,7 +47,7 @@ void GPU_storagebuf_clear_to_zero(GPUStorageBuf *ssbo);
|
|||
*
|
||||
* NOTE: clear_data_len must be in range 1 to 4 (inclusive).
|
||||
*/
|
||||
void GPU_storagebuf_clear_uint(GPUStorageBuf *ssbo, uint32_t *clear_data, uint8_t clear_data_len);
|
||||
void GPU_storagebuf_clear_uint(GPUStorageBuf *ssbo, uint32_t *clear_data, int clear_data_len);
|
||||
|
||||
/**
|
||||
* Clear the content of the buffer using the given #clear_data. #clear_data will be used as a
|
||||
|
@ -55,7 +55,7 @@ void GPU_storagebuf_clear_uint(GPUStorageBuf *ssbo, uint32_t *clear_data, uint8_
|
|||
*
|
||||
* NOTE: clear_data_len must be in range 1 to 4 (inclusive).
|
||||
*/
|
||||
void GPU_storagebuf_clear_int(GPUStorageBuf *ssbo, int32_t *clear_data, uint8_t clear_data_len);
|
||||
void GPU_storagebuf_clear_int(GPUStorageBuf *ssbo, int32_t *clear_data, int clear_data_len);
|
||||
|
||||
/**
|
||||
* Read back content of the buffer to CPU for inspection.
|
||||
|
|
|
@ -95,13 +95,13 @@ void GPU_storagebuf_clear_to_zero(GPUStorageBuf *ssbo)
|
|||
GPU_storagebuf_clear_uint(ssbo, &data, 1);
|
||||
}
|
||||
|
||||
void GPU_storagebuf_clear_int(GPUStorageBuf *ssbo, int32_t *clear_data, uint8_t clear_data_len)
|
||||
void GPU_storagebuf_clear_int(GPUStorageBuf *ssbo, int32_t *clear_data, int clear_data_len)
|
||||
{
|
||||
uint32_t *clear_data_uint = static_cast<uint32_t *>(static_cast<void *>(clear_data));
|
||||
GPU_storagebuf_clear_uint(ssbo, clear_data_uint, clear_data_len);
|
||||
}
|
||||
|
||||
void GPU_storagebuf_clear_uint(GPUStorageBuf *ssbo, uint32_t *clear_data, uint8_t clear_data_len)
|
||||
void GPU_storagebuf_clear_uint(GPUStorageBuf *ssbo, uint32_t *clear_data, int clear_data_len)
|
||||
{
|
||||
BLI_assert(clear_data_len >= 1 && clear_data_len <= 4);
|
||||
unwrap(ssbo)->clear(blender::Span<uint32_t>(clear_data, clear_data_len));
|
||||
|
|
|
@ -124,7 +124,7 @@ void GLStorageBuf::clear(Span<uint32_t> data)
|
|||
}
|
||||
|
||||
GLenum internal_format = GL_R32UI;
|
||||
GLenum format = GL_RED;
|
||||
GLenum format = GL_RED_INTEGER;
|
||||
if (data.size() == 1) {
|
||||
internal_format = GL_R32UI;
|
||||
format = GL_RED_INTEGER;
|
||||
|
|
Loading…
Reference in New Issue