Cleanup some code.
This commit is contained in:
parent
5040eefbb7
commit
d76a7b61bb
|
@ -40,8 +40,6 @@ GLUT_LIB = glut
|
||||||
GLW_LIB = GLw
|
GLW_LIB = GLw
|
||||||
OSMESA_LIB = OSMesa
|
OSMESA_LIB = OSMesa
|
||||||
|
|
||||||
LLVM_CFLAGS=-DMESA_NO_LLVM=1
|
|
||||||
LLVM_CXXFLAGS=-DMESA_NO_LLVM=1
|
|
||||||
|
|
||||||
# Library names (actual file names)
|
# Library names (actual file names)
|
||||||
GL_LIB_NAME = lib$(GL_LIB).so
|
GL_LIB_NAME = lib$(GL_LIB).so
|
||||||
|
@ -67,6 +65,7 @@ DRIVER_DIRS = x11 osmesa
|
||||||
# Which subdirs under $(TOP)/progs/ to enter:
|
# Which subdirs under $(TOP)/progs/ to enter:
|
||||||
PROGRAM_DIRS = demos redbook samples glsl xdemos
|
PROGRAM_DIRS = demos redbook samples glsl xdemos
|
||||||
|
|
||||||
|
|
||||||
# Library/program dependencies
|
# Library/program dependencies
|
||||||
#EXTRA_LIB_PATH ?=
|
#EXTRA_LIB_PATH ?=
|
||||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
|
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
|
||||||
|
|
|
@ -11,21 +11,21 @@ LLVM_VERSION := $(shell llvm-config --version)
|
||||||
|
|
||||||
ifeq ($(LLVM_VERSION),)
|
ifeq ($(LLVM_VERSION),)
|
||||||
$(warning Could not find LLVM! Make Sure 'llvm-config' is in the path)
|
$(warning Could not find LLVM! Make Sure 'llvm-config' is in the path)
|
||||||
MESA_NO_LLVM=1
|
MESA_LLVM=0
|
||||||
else
|
else
|
||||||
MESA_NO_LLVM=0
|
MESA_LLVM=1
|
||||||
$(info Using LLVM version: $(LLVM_VERSION))
|
$(info Using LLVM version: $(LLVM_VERSION))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(MESA_NO_LLVM),0)
|
ifeq ($(MESA_LLVM),1)
|
||||||
# LLVM_CFLAGS=`llvm-config --cflags` -DMESA_NO_LLVM=0
|
# LLVM_CFLAGS=`llvm-config --cflags` -DMESA_LLVM=1
|
||||||
LLVM_CFLAGS=-DMESA_NO_LLVM=0
|
LLVM_CFLAGS=-DMESA_LLVM=1
|
||||||
LLVM_CXXFLAGS=`llvm-config --cxxflags` -DMESA_NO_LLVM=0 -Wno-long-long
|
LLVM_CXXFLAGS=`llvm-config --cxxflags` -DMESA_LLVM=1 -Wno-long-long
|
||||||
LLVM_LDFLAGS=`llvm-config --ldflags`
|
LLVM_LDFLAGS=`llvm-config --ldflags`
|
||||||
LLVM_LIBS=`llvm-config --libs`
|
LLVM_LIBS=`llvm-config --libs`
|
||||||
else
|
else
|
||||||
LLVM_CFLAGS=-DMESA_NO_LLVM=1
|
LLVM_CFLAGS=
|
||||||
LLVM_CXXFLAGS=-DMESA_NO_LLVM=1
|
LLVM_CXXFLAGS=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
GL_LIB_DEPS = $(LLVM_LDFLAGS) $(LLVM_LIBS) $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
|
GL_LIB_DEPS = $(LLVM_LDFLAGS) $(LLVM_LIBS) $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
|
||||||
|
|
|
@ -251,7 +251,9 @@ extern void draw_vertex_cache_reset_vertex_ids( struct draw_context *draw );
|
||||||
|
|
||||||
|
|
||||||
extern void draw_vertex_shader_queue_flush( struct draw_context *draw );
|
extern void draw_vertex_shader_queue_flush( struct draw_context *draw );
|
||||||
|
#ifdef MESA_LLVM
|
||||||
extern void draw_vertex_shader_queue_flush_llvm( struct draw_context *draw );
|
extern void draw_vertex_shader_queue_flush_llvm( struct draw_context *draw );
|
||||||
|
#endif
|
||||||
|
|
||||||
struct tgsi_exec_machine;
|
struct tgsi_exec_machine;
|
||||||
|
|
||||||
|
|
|
@ -96,7 +96,7 @@ void draw_vertex_fetch( struct draw_context *draw,
|
||||||
for (j = 0; j < count; j++) {
|
for (j = 0; j < count; j++) {
|
||||||
uint attr;
|
uint attr;
|
||||||
|
|
||||||
printf("fetch vertex %u: \n", j);
|
/*printf("fetch vertex %u: \n", j);*/
|
||||||
|
|
||||||
/* loop over vertex attributes (vertex shader inputs) */
|
/* loop over vertex attributes (vertex shader inputs) */
|
||||||
for (attr = 0; attr < draw->vertex_shader->state->num_inputs; attr++) {
|
for (attr = 0; attr < draw->vertex_shader->state->num_inputs; attr++) {
|
||||||
|
@ -111,7 +111,7 @@ void draw_vertex_fetch( struct draw_context *draw,
|
||||||
|
|
||||||
fetch_attrib4(src, draw->vertex_element[attr].src_format, p);
|
fetch_attrib4(src, draw->vertex_element[attr].src_format, p);
|
||||||
|
|
||||||
printf("> %u: %f %f %f %f\n", attr, p[0], p[1], p[2], p[3]);
|
/*printf(" %u: %f %f %f %f\n", attr, p[0], p[1], p[2], p[3]);*/
|
||||||
|
|
||||||
/* Transform to AoS xxxx/yyyy/zzzz/wwww representation:
|
/* Transform to AoS xxxx/yyyy/zzzz/wwww representation:
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -161,6 +161,10 @@ run_vertex_program(struct draw_context *draw,
|
||||||
vOut[j]->data[slot][3] = machine->Outputs[slot].xyzw[3].f[j];
|
vOut[j]->data[slot][3] = machine->Outputs[slot].xyzw[3].f[j];
|
||||||
#if DBG
|
#if DBG
|
||||||
printf("output[%d][%d]: %f %f %f %f\n", j, slot,
|
printf("output[%d][%d]: %f %f %f %f\n", j, slot,
|
||||||
|
vOut[j]->data[slot][0],
|
||||||
|
vOut[j]->data[slot][1],
|
||||||
|
vOut[j]->data[slot][2],
|
||||||
|
vOut[j]->data[slot][3]);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
} /* loop over vertices */
|
} /* loop over vertices */
|
||||||
|
@ -175,10 +179,13 @@ void draw_vertex_shader_queue_flush( struct draw_context *draw )
|
||||||
{
|
{
|
||||||
unsigned i, j;
|
unsigned i, j;
|
||||||
|
|
||||||
|
// fprintf(stderr, " q(%d) ", draw->vs.queue_nr );
|
||||||
|
#ifdef MESA_LLVM
|
||||||
if (draw->vertex_shader->state->llvm_prog) {
|
if (draw->vertex_shader->state->llvm_prog) {
|
||||||
draw_vertex_shader_queue_flush_llvm(draw);
|
draw_vertex_shader_queue_flush_llvm(draw);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* run vertex shader on vertex cache entries, four per invokation */
|
/* run vertex shader on vertex cache entries, four per invokation */
|
||||||
for (i = 0; i < draw->vs.queue_nr; i += 4) {
|
for (i = 0; i < draw->vs.queue_nr; i += 4) {
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
#include "draw_context.h"
|
#include "draw_context.h"
|
||||||
#include "draw_vertex.h"
|
#include "draw_vertex.h"
|
||||||
|
|
||||||
|
#ifdef MESA_LLVM
|
||||||
|
|
||||||
#include "pipe/llvm/llvmtgsi.h"
|
#include "pipe/llvm/llvmtgsi.h"
|
||||||
#include "pipe/tgsi/exec/tgsi_core.h"
|
#include "pipe/tgsi/exec/tgsi_core.h"
|
||||||
|
|
||||||
|
@ -199,3 +201,5 @@ void draw_vertex_shader_queue_flush_llvm(struct draw_context *draw)
|
||||||
|
|
||||||
draw->vs.queue_nr = 0;
|
draw->vs.queue_nr = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* MESA_LLVM */
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include "pipe/tgsi/exec/tgsi_util.h"
|
#include "pipe/tgsi/exec/tgsi_util.h"
|
||||||
#include "pipe/tgsi/exec/tgsi_parse.h"
|
#include "pipe/tgsi/exec/tgsi_parse.h"
|
||||||
#include "pipe/tgsi/exec/tgsi_dump.h"
|
#include "pipe/tgsi/exec/tgsi_dump.h"
|
||||||
//#include "pipe/tgsi/tgsi_platform.h"
|
|
||||||
|
|
||||||
#include <llvm/Module.h>
|
#include <llvm/Module.h>
|
||||||
#include <llvm/CallingConv.h>
|
#include <llvm/CallingConv.h>
|
||||||
|
@ -36,6 +35,7 @@
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
#ifdef MESA_LLVM
|
||||||
|
|
||||||
struct ga_llvm_prog {
|
struct ga_llvm_prog {
|
||||||
void *module;
|
void *module;
|
||||||
|
@ -159,7 +159,7 @@ translate_instruction(llvm::Module *module,
|
||||||
} else if (src->SrcRegister.File == TGSI_FILE_TEMPORARY) {
|
} else if (src->SrcRegister.File == TGSI_FILE_TEMPORARY) {
|
||||||
val = storage->tempElement(src->SrcRegister.Index);
|
val = storage->tempElement(src->SrcRegister.Index);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "ERROR: not support llvm source\n");
|
fprintf(stderr, "ERROR: not supported llvm source\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -751,3 +751,5 @@ void ga_llvm_prog_dump(struct ga_llvm_prog *prog, const char *file_prefix)
|
||||||
std::cout<<"; ---------- End shader "<<prog->id<<std::endl;
|
std::cout<<"; ---------- End shader "<<prog->id<<std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* MESA_LLVM */
|
||||||
|
|
|
@ -7,6 +7,8 @@ extern "C" {
|
||||||
|
|
||||||
#include "pipe/p_state.h"
|
#include "pipe/p_state.h"
|
||||||
|
|
||||||
|
#ifdef MESA_LLVM
|
||||||
|
|
||||||
struct tgsi_exec_machine;
|
struct tgsi_exec_machine;
|
||||||
struct tgsi_token;
|
struct tgsi_token;
|
||||||
struct tgsi_sampler;
|
struct tgsi_sampler;
|
||||||
|
@ -29,6 +31,8 @@ int ga_llvm_prog_exec(struct ga_llvm_prog *prog,
|
||||||
|
|
||||||
void ga_llvm_prog_dump(struct ga_llvm_prog *prog, const char *file_prefix);
|
void ga_llvm_prog_dump(struct ga_llvm_prog *prog, const char *file_prefix);
|
||||||
|
|
||||||
|
#endif /* MESA_LLVM */
|
||||||
|
|
||||||
#if defined __cplusplus
|
#if defined __cplusplus
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -109,7 +109,9 @@ shade_quad(
|
||||||
machine->InterpCoefs );
|
machine->InterpCoefs );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//ga_llvm_prog_exec(softpipe->fs->llvm_prog);
|
#ifdef MESA_LLVM
|
||||||
|
/*ga_llvm_prog_exec(softpipe->fs->llvm_prog);*/
|
||||||
|
#endif
|
||||||
quad->mask &= tgsi_exec_machine_run( machine );
|
quad->mask &= tgsi_exec_machine_run( machine );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -189,7 +189,7 @@ TGSIDECO_SOURCES = \
|
||||||
TGSIMESA_SOURCES = \
|
TGSIMESA_SOURCES = \
|
||||||
pipe/tgsi/mesa/mesa_to_tgsi.c
|
pipe/tgsi/mesa/mesa_to_tgsi.c
|
||||||
|
|
||||||
ifeq ($(MESA_NO_LLVM),0)
|
ifeq ($(MESA_LLVM),1)
|
||||||
LLVMTGSI_SOURCES = \
|
LLVMTGSI_SOURCES = \
|
||||||
pipe/llvm/llvmtgsi.cpp \
|
pipe/llvm/llvmtgsi.cpp \
|
||||||
pipe/llvm/storage.cpp \
|
pipe/llvm/storage.cpp \
|
||||||
|
|
|
@ -251,7 +251,9 @@ st_translate_vertex_program(struct st_context *st,
|
||||||
tokensOut, maxTokens);
|
tokensOut, maxTokens);
|
||||||
|
|
||||||
vs.tokens = tokensOut;
|
vs.tokens = tokensOut;
|
||||||
|
#ifdef MESA_LLVM
|
||||||
vs.llvm_prog = ga_llvm_from_tgsi(st->pipe, vs.tokens);
|
vs.llvm_prog = ga_llvm_from_tgsi(st->pipe, vs.tokens);
|
||||||
|
#endif
|
||||||
cso = st_cached_vs_state(st, &vs);
|
cso = st_cached_vs_state(st, &vs);
|
||||||
stvp->vs = cso;
|
stvp->vs = cso;
|
||||||
|
|
||||||
|
@ -407,7 +409,9 @@ st_translate_fragment_program(struct st_context *st,
|
||||||
tokensOut, maxTokens);
|
tokensOut, maxTokens);
|
||||||
|
|
||||||
fs.tokens = tokensOut;
|
fs.tokens = tokensOut;
|
||||||
fs.llvm_prog = ga_llvm_from_tgsi(st->pipe, fs.tokens);
|
#ifdef MESA_LLVM
|
||||||
|
/*fs.llvm_prog = ga_llvm_from_tgsi(st->pipe, fs.tokens);*/
|
||||||
|
#endif
|
||||||
cso = st_cached_fs_state(st, &fs);
|
cso = st_cached_fs_state(st, &fs);
|
||||||
stfp->fs = cso;
|
stfp->fs = cso;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue