Mesa (nvc0): nv50: apply relocations to shader code

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Wed Mar 2 20:01:41 UTC 2011


Module: Mesa
Branch: nvc0
Commit: 908013b7370f8dfe20a1ab41b353968a60a9055d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=908013b7370f8dfe20a1ab41b353968a60a9055d

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Mar  2 15:39:57 2011 +0100

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 files changed, 2 insertions(+), 0 deletions(-)

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);




More information about the mesa-commit mailing list