Accepting request 573596 from X11:XOrg
OBS-URL: https://build.opensuse.org/request/show/573596 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=314
This commit is contained in:
commit
7826fc7731
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 6 08:42:03 UTC 2018 - msrb@suse.com
|
||||||
|
|
||||||
|
- u_mesa-st-shader_cache-restore-num_tgsi_tokens-when-loading.patch
|
||||||
|
* Fix crash when loading shader. (bnc#1079465)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 2 13:52:41 UTC 2018 - sndirsch@suse.com
|
Fri Feb 2 13:52:41 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
@ -141,6 +141,7 @@ Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
|
|||||||
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
|
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
|
||||||
# Upstream
|
# Upstream
|
||||||
Patch43: u_mesa-python3-only.patch
|
Patch43: u_mesa-python3-only.patch
|
||||||
|
Patch44: u_mesa-st-shader_cache-restore-num_tgsi_tokens-when-loading.patch
|
||||||
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
|
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
|
||||||
|
|
||||||
BuildRequires: autoconf >= 2.60
|
BuildRequires: autoconf >= 2.60
|
||||||
@ -749,6 +750,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%patch43 -p1
|
%patch43 -p1
|
||||||
|
%patch44 -p1
|
||||||
%patch45 -p1
|
%patch45 -p1
|
||||||
|
|
||||||
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when
|
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 6 08:42:03 UTC 2018 - msrb@suse.com
|
||||||
|
|
||||||
|
- u_mesa-st-shader_cache-restore-num_tgsi_tokens-when-loading.patch
|
||||||
|
* Fix crash when loading shader. (bnc#1079465)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 2 13:52:41 UTC 2018 - sndirsch@suse.com
|
Fri Feb 2 13:52:41 UTC 2018 - sndirsch@suse.com
|
||||||
|
|
||||||
|
@ -140,6 +140,7 @@ Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
|
|||||||
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
|
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
|
||||||
# Upstream
|
# Upstream
|
||||||
Patch43: u_mesa-python3-only.patch
|
Patch43: u_mesa-python3-only.patch
|
||||||
|
Patch44: u_mesa-st-shader_cache-restore-num_tgsi_tokens-when-loading.patch
|
||||||
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
|
Patch45: n_Disable-AMDGPU-GFX9-Vega-on-LLVM-lessthan-6.0.0.patch
|
||||||
|
|
||||||
BuildRequires: autoconf >= 2.60
|
BuildRequires: autoconf >= 2.60
|
||||||
@ -748,6 +749,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%patch43 -p1
|
%patch43 -p1
|
||||||
|
%patch44 -p1
|
||||||
%patch45 -p1
|
%patch45 -p1
|
||||||
|
|
||||||
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when
|
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when
|
||||||
|
@ -0,0 +1,101 @@
|
|||||||
|
Git-commit: 041b18cf23a0acf7b0eddf63cd7a2a10192432a1
|
||||||
|
Author: Timothy Arceri <tarceri@itsqueeze.com>
|
||||||
|
Subject: st/shader_cache: restore num_tgsi_tokens when loading from cache
|
||||||
|
References: bnc#1079465 fdo#104762
|
||||||
|
Patch-Mainline: Upstream
|
||||||
|
Signed-off-by: Michal Srb <msrb@suse.com>
|
||||||
|
|
||||||
|
Without this we will fail to correctly serialise programs when
|
||||||
|
using glGetProgramBinary() if the program was retrieved from
|
||||||
|
the disk cache rather than freshly compiled.
|
||||||
|
|
||||||
|
Fixes: c69b0dd6817b "st/glsl_to_tgsi: store num_tgsi_tokens in st_*_program"
|
||||||
|
|
||||||
|
Reviewed-by: Gert Wollny <gw.fossdev@gmail.com>
|
||||||
|
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104762
|
||||||
|
---
|
||||||
|
src/mesa/state_tracker/st_shader_cache.c | 25 ++++++++++++++++---------
|
||||||
|
1 file changed, 16 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/mesa/state_tracker/st_shader_cache.c b/src/mesa/state_tracker/st_shader_cache.c
|
||||||
|
index b1b9d275f8..12d73965bf 100644
|
||||||
|
--- a/src/mesa/state_tracker/st_shader_cache.c
|
||||||
|
+++ b/src/mesa/state_tracker/st_shader_cache.c
|
||||||
|
@@ -142,10 +142,11 @@ read_stream_out_from_cache(struct blob_reader *blob_reader,
|
||||||
|
|
||||||
|
static void
|
||||||
|
read_tgsi_from_cache(struct blob_reader *blob_reader,
|
||||||
|
- const struct tgsi_token **tokens)
|
||||||
|
+ const struct tgsi_token **tokens,
|
||||||
|
+ unsigned *num_tokens)
|
||||||
|
{
|
||||||
|
- uint32_t num_tokens = blob_read_uint32(blob_reader);
|
||||||
|
- unsigned tokens_size = num_tokens * sizeof(struct tgsi_token);
|
||||||
|
+ *num_tokens = blob_read_uint32(blob_reader);
|
||||||
|
+ unsigned tokens_size = *num_tokens * sizeof(struct tgsi_token);
|
||||||
|
*tokens = (const struct tgsi_token*) MALLOC(tokens_size);
|
||||||
|
blob_copy_bytes(blob_reader, (uint8_t *) *tokens, tokens_size);
|
||||||
|
}
|
||||||
|
@@ -175,7 +176,8 @@ st_deserialise_tgsi_program(struct gl_context *ctx,
|
||||||
|
sizeof(stvp->result_to_output));
|
||||||
|
|
||||||
|
read_stream_out_from_cache(&blob_reader, &stvp->tgsi);
|
||||||
|
- read_tgsi_from_cache(&blob_reader, &stvp->tgsi.tokens);
|
||||||
|
+ read_tgsi_from_cache(&blob_reader, &stvp->tgsi.tokens,
|
||||||
|
+ &stvp->num_tgsi_tokens);
|
||||||
|
|
||||||
|
if (st->vp == stvp)
|
||||||
|
st->dirty |= ST_NEW_VERTEX_PROGRAM(st, stvp);
|
||||||
|
@@ -189,7 +191,8 @@ st_deserialise_tgsi_program(struct gl_context *ctx,
|
||||||
|
&sttcp->variants, &sttcp->tgsi);
|
||||||
|
|
||||||
|
read_stream_out_from_cache(&blob_reader, &sttcp->tgsi);
|
||||||
|
- read_tgsi_from_cache(&blob_reader, &sttcp->tgsi.tokens);
|
||||||
|
+ read_tgsi_from_cache(&blob_reader, &sttcp->tgsi.tokens,
|
||||||
|
+ &sttcp->num_tgsi_tokens);
|
||||||
|
|
||||||
|
if (st->tcp == sttcp)
|
||||||
|
st->dirty |= sttcp->affected_states;
|
||||||
|
@@ -203,7 +206,8 @@ st_deserialise_tgsi_program(struct gl_context *ctx,
|
||||||
|
&sttep->variants, &sttep->tgsi);
|
||||||
|
|
||||||
|
read_stream_out_from_cache(&blob_reader, &sttep->tgsi);
|
||||||
|
- read_tgsi_from_cache(&blob_reader, &sttep->tgsi.tokens);
|
||||||
|
+ read_tgsi_from_cache(&blob_reader, &sttep->tgsi.tokens,
|
||||||
|
+ &sttep->num_tgsi_tokens);
|
||||||
|
|
||||||
|
if (st->tep == sttep)
|
||||||
|
st->dirty |= sttep->affected_states;
|
||||||
|
@@ -217,7 +221,8 @@ st_deserialise_tgsi_program(struct gl_context *ctx,
|
||||||
|
&stgp->tgsi);
|
||||||
|
|
||||||
|
read_stream_out_from_cache(&blob_reader, &stgp->tgsi);
|
||||||
|
- read_tgsi_from_cache(&blob_reader, &stgp->tgsi.tokens);
|
||||||
|
+ read_tgsi_from_cache(&blob_reader, &stgp->tgsi.tokens,
|
||||||
|
+ &stgp->num_tgsi_tokens);
|
||||||
|
|
||||||
|
if (st->gp == stgp)
|
||||||
|
st->dirty |= stgp->affected_states;
|
||||||
|
@@ -229,7 +234,8 @@ st_deserialise_tgsi_program(struct gl_context *ctx,
|
||||||
|
|
||||||
|
st_release_fp_variants(st, stfp);
|
||||||
|
|
||||||
|
- read_tgsi_from_cache(&blob_reader, &stfp->tgsi.tokens);
|
||||||
|
+ read_tgsi_from_cache(&blob_reader, &stfp->tgsi.tokens,
|
||||||
|
+ &stfp->num_tgsi_tokens);
|
||||||
|
|
||||||
|
if (st->fp == stfp)
|
||||||
|
st->dirty |= stfp->affected_states;
|
||||||
|
@@ -242,7 +248,8 @@ st_deserialise_tgsi_program(struct gl_context *ctx,
|
||||||
|
st_release_cp_variants(st, stcp);
|
||||||
|
|
||||||
|
read_tgsi_from_cache(&blob_reader,
|
||||||
|
- (const struct tgsi_token**) &stcp->tgsi.prog);
|
||||||
|
+ (const struct tgsi_token**) &stcp->tgsi.prog,
|
||||||
|
+ &stcp->num_tgsi_tokens);
|
||||||
|
|
||||||
|
stcp->tgsi.req_local_mem = stcp->Base.info.cs.shared_size;
|
||||||
|
stcp->tgsi.req_private_mem = 0;
|
||||||
|
--
|
||||||
|
2.13.6
|
||||||
|
|
Loading…
Reference in New Issue
Block a user