From: Christoph Bumiller Date: Wed, 2 Mar 2011 14:39:57 +0000 (+0100) Subject: nv50: apply relocations to shader code X-Git-Tag: mesa-7.11-rc1~1680^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=908013b7370f8dfe20a1ab41b353968a60a9055d;p=platform%2Fupstream%2Fmesa.git nv50: apply relocations to shader code On nv50, branches are absolute, so we need to adjust them according to the shader's position in the code buffer. --- diff --git a/src/gallium/drivers/nv50/nv50_shader_state.c b/src/gallium/drivers/nv50/nv50_shader_state.c index 7d4b12b..f5685c1 100644 --- a/src/gallium/drivers/nv50/nv50_shader_state.c +++ b/src/gallium/drivers/nv50/nv50_shader_state.c @@ -149,6 +149,8 @@ nv50_program_validate(struct nv50_context *nv50, struct nv50_program *prog) return FALSE; prog->code_base = prog->res->start; + nv50_relocate_program(prog, prog->code_base, 0); + nv50_sifc_linear_u8(&nv50->base, nv50->screen->code, (prog->type << 16) + prog->code_base, NOUVEAU_BO_VRAM, prog->code_size, prog->code);