[Mesa-stable] [PATCH 1/8] glsl: allow NULL to be passed to encode_type_to_blob()
Timothy Arceri
tarceri at itsqueeze.com
Wed Sep 13 06:20:54 UTC 2017
Hi,
Are we able to get these 9 patches in the next 17.2 release?
Thanks,
Tim
On 14/08/17 09:49, Timothy Arceri wrote:
> This will be used by the following commit.
> ---
> src/compiler/glsl/shader_cache.cpp | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp
> index cc4d24482d..1fd49b82e9 100644
> --- a/src/compiler/glsl/shader_cache.cpp
> +++ b/src/compiler/glsl/shader_cache.cpp
> @@ -72,20 +72,25 @@ compile_shaders(struct gl_context *ctx, struct gl_shader_program *prog) {
> for (unsigned i = 0; i < prog->NumShaders; i++) {
> _mesa_glsl_compile_shader(ctx, prog->Shaders[i], false, false, true);
> }
> }
>
> static void
> encode_type_to_blob(struct blob *blob, const glsl_type *type)
> {
> uint32_t encoding;
>
> + if (!type) {
> + blob_write_uint32(blob, 0);
> + return;
> + }
> +
> switch (type->base_type) {
> case GLSL_TYPE_UINT:
> case GLSL_TYPE_INT:
> case GLSL_TYPE_FLOAT:
> case GLSL_TYPE_BOOL:
> case GLSL_TYPE_DOUBLE:
> case GLSL_TYPE_UINT64:
> case GLSL_TYPE_INT64:
> encoding = (type->base_type << 24) |
> (type->vector_elements << 4) |
> @@ -142,20 +147,25 @@ encode_type_to_blob(struct blob *blob, const glsl_type *type)
> break;
> }
>
> blob_write_uint32(blob, encoding);
> }
>
> static const glsl_type *
> decode_type_from_blob(struct blob_reader *blob)
> {
> uint32_t u = blob_read_uint32(blob);
> +
> + if (u == 0) {
> + return NULL;
> + }
> +
> glsl_base_type base_type = (glsl_base_type) (u >> 24);
>
> switch (base_type) {
> case GLSL_TYPE_UINT:
> case GLSL_TYPE_INT:
> case GLSL_TYPE_FLOAT:
> case GLSL_TYPE_BOOL:
> case GLSL_TYPE_DOUBLE:
> case GLSL_TYPE_UINT64:
> case GLSL_TYPE_INT64:
>
More information about the mesa-stable
mailing list