summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv50
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2011-09-13 23:10:35 +0200
committerChristoph Bumiller <[email protected]>2011-09-14 16:19:52 +0200
commit3afabfb929cf24a783c10c99bf0d86245e70a94a (patch)
tree73d04e84b157fe0803be054570533034f9e8e00c /src/gallium/drivers/nv50
parent57594065c30feec9376be9b2132659f7d87362ee (diff)
nvc0: hook up to new shader code generator
Also includes loading of shared shader library code (used for f64 and integer division) and setting up the immediate array buffer which is appended to the code.
Diffstat (limited to 'src/gallium/drivers/nv50')
-rw-r--r--src/gallium/drivers/nv50/nv50_context.h1
-rw-r--r--src/gallium/drivers/nv50/nv50_program.c13
2 files changed, 14 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv50/nv50_context.h b/src/gallium/drivers/nv50/nv50_context.h
index 77dbc823c7a..ecffbbf86e6 100644
--- a/src/gallium/drivers/nv50/nv50_context.h
+++ b/src/gallium/drivers/nv50/nv50_context.h
@@ -153,6 +153,7 @@ extern struct draw_stage *nv50_draw_render_stage(struct nv50_context *);
/* nv50_program.c */
boolean nv50_program_translate(struct nv50_program *);
+boolean nv50_program_translate_new(struct nv50_program *);
void nv50_program_destroy(struct nv50_context *, struct nv50_program *);
/* nv50_query.c */
diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c
index 4def93d6b84..b61400bf81e 100644
--- a/src/gallium/drivers/nv50/nv50_program.c
+++ b/src/gallium/drivers/nv50/nv50_program.c
@@ -29,6 +29,8 @@
#include "tgsi/tgsi_util.h"
#include "tgsi/tgsi_dump.h"
+#include "codegen/nv50_ir_driver.h"
+
static INLINE unsigned
bitcount4(const uint32_t val)
{
@@ -625,6 +627,17 @@ nv50_prog_scan(struct nv50_translation_info *ti)
return ret;
}
+/* Temporary, need a reference to nv50_ir_generate_code in libnv50 or
+ * it "gets disappeared" and cannot be used in libnvc0 ...
+ */
+boolean
+nv50_program_translate_new(struct nv50_program *p)
+{
+ struct nv50_ir_prog_info info;
+
+ return nv50_ir_generate_code(&info);
+}
+
boolean
nv50_program_translate(struct nv50_program *p)
{