From 908013b7370f8dfe20a1ab41b353968a60a9055d Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Wed, 2 Mar 2011 15:39:57 +0100 Subject: 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. --- src/gallium/drivers/nv50/nv50_shader_state.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/gallium/drivers') diff --git a/src/gallium/drivers/nv50/nv50_shader_state.c b/src/gallium/drivers/nv50/nv50_shader_state.c index 7d4b12bde17..f5685c1cd7d 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); -- cgit v1.2.3