[Mesa-dev] [PATCH 23/65] glsl: cache SSBO uniform storage values
Timothy Arceri
timothy.arceri at collabora.com
Fri Apr 29 13:33:22 UTC 2016
---
src/compiler/glsl/shader_cache.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp
index 092e6e3..daa9056 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -150,6 +150,10 @@ write_uniforms(struct blob *metadata, struct gl_shader_program *prog)
blob_write_uint32(metadata, prog->UniformStorage[i].array_stride);
blob_write_uint32(metadata, prog->UniformStorage[i].matrix_stride);
blob_write_uint32(metadata, prog->UniformStorage[i].row_major);
+ blob_write_uint32(metadata,
+ prog->UniformStorage[i].top_level_array_size);
+ blob_write_uint32(metadata,
+ prog->UniformStorage[i].top_level_array_stride);
encode_type_to_blob(metadata, prog->UniformStorage[i].type);
}
@@ -187,7 +191,10 @@ read_uniforms(struct blob_reader *metadata, struct gl_shader_program *prog)
uniforms[i].array_stride = blob_read_uint32(metadata);
uniforms[i].matrix_stride = blob_read_uint32(metadata);
uniforms[i].row_major = blob_read_uint32(metadata);
+ uniforms[i].top_level_array_size = blob_read_uint32(metadata);
+ uniforms[i].top_level_array_stride = blob_read_uint32(metadata);
uniforms[i].type = decode_type_from_blob(metadata);
+
prog->UniformHash->put(i, uniforms[i].name);
printf("uniform %d: %s %s\n",
--
2.5.5
More information about the mesa-dev
mailing list