mesa: Make FEATURE_ATI_fragment_shader more modular.
This allows atifragshader.h to be used without knowing if FEATURE_ATI_fragment_shader is enabled. As a result, atifragshader.c is removed from the omit list in ES overlay.
This commit is contained in:
@@ -32,10 +32,6 @@ VBO_OMITTED := \
|
||||
vbo/vbo_save_loopback.c
|
||||
VBO_SOURCES := $(filter-out $(VBO_OMITTED), $(VBO_SOURCES))
|
||||
|
||||
SHADER_OMITTED := \
|
||||
shader/atifragshader.c
|
||||
SHADER_SOURCES := $(filter-out $(SHADER_OMITTED), $(SHADER_SOURCES))
|
||||
|
||||
# adjust source dir
|
||||
ES_SOURCES := $(addprefix $(MESA)/, $(MESA_SOURCES))
|
||||
ES_GALLIUM_SOURCES := $(addprefix $(MESA)/, $(MESA_GALLIUM_SOURCES))
|
||||
|
@@ -36,9 +36,7 @@
|
||||
#if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program
|
||||
#include "shader/arbprogram.h"
|
||||
#endif
|
||||
#if FEATURE_ATI_fragment_shader
|
||||
#include "shader/atifragshader.h"
|
||||
#endif
|
||||
#include "attrib.h"
|
||||
#include "blend.h"
|
||||
#if FEATURE_ARB_vertex_buffer_object
|
||||
@@ -715,22 +713,7 @@ _mesa_create_exec_table(void)
|
||||
#endif
|
||||
|
||||
/* GL_ATI_fragment_shader */
|
||||
#if FEATURE_ATI_fragment_shader
|
||||
SET_GenFragmentShadersATI(exec, _mesa_GenFragmentShadersATI);
|
||||
SET_BindFragmentShaderATI(exec, _mesa_BindFragmentShaderATI);
|
||||
SET_DeleteFragmentShaderATI(exec, _mesa_DeleteFragmentShaderATI);
|
||||
SET_BeginFragmentShaderATI(exec, _mesa_BeginFragmentShaderATI);
|
||||
SET_EndFragmentShaderATI(exec, _mesa_EndFragmentShaderATI);
|
||||
SET_PassTexCoordATI(exec, _mesa_PassTexCoordATI);
|
||||
SET_SampleMapATI(exec, _mesa_SampleMapATI);
|
||||
SET_ColorFragmentOp1ATI(exec, _mesa_ColorFragmentOp1ATI);
|
||||
SET_ColorFragmentOp2ATI(exec, _mesa_ColorFragmentOp2ATI);
|
||||
SET_ColorFragmentOp3ATI(exec, _mesa_ColorFragmentOp3ATI);
|
||||
SET_AlphaFragmentOp1ATI(exec, _mesa_AlphaFragmentOp1ATI);
|
||||
SET_AlphaFragmentOp2ATI(exec, _mesa_AlphaFragmentOp2ATI);
|
||||
SET_AlphaFragmentOp3ATI(exec, _mesa_AlphaFragmentOp3ATI);
|
||||
SET_SetFragmentShaderConstantATI(exec, _mesa_SetFragmentShaderConstantATI);
|
||||
#endif
|
||||
_mesa_init_ati_fragment_shader_dispatch(exec);
|
||||
|
||||
/* GL_ATI_envmap_bumpmap */
|
||||
SET_GetTexBumpParameterivATI(exec, _mesa_GetTexBumpParameterivATI);
|
||||
|
@@ -28,13 +28,36 @@
|
||||
#include "main/macros.h"
|
||||
#include "main/enums.h"
|
||||
#include "main/mtypes.h"
|
||||
#include "main/dispatch.h"
|
||||
#include "atifragshader.h"
|
||||
|
||||
#if FEATURE_ATI_fragment_shader
|
||||
|
||||
#define MESA_DEBUG_ATI_FS 0
|
||||
|
||||
static struct ati_fragment_shader DummyShader;
|
||||
|
||||
|
||||
void
|
||||
_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp)
|
||||
{
|
||||
SET_GenFragmentShadersATI(disp, _mesa_GenFragmentShadersATI);
|
||||
SET_BindFragmentShaderATI(disp, _mesa_BindFragmentShaderATI);
|
||||
SET_DeleteFragmentShaderATI(disp, _mesa_DeleteFragmentShaderATI);
|
||||
SET_BeginFragmentShaderATI(disp, _mesa_BeginFragmentShaderATI);
|
||||
SET_EndFragmentShaderATI(disp, _mesa_EndFragmentShaderATI);
|
||||
SET_PassTexCoordATI(disp, _mesa_PassTexCoordATI);
|
||||
SET_SampleMapATI(disp, _mesa_SampleMapATI);
|
||||
SET_ColorFragmentOp1ATI(disp, _mesa_ColorFragmentOp1ATI);
|
||||
SET_ColorFragmentOp2ATI(disp, _mesa_ColorFragmentOp2ATI);
|
||||
SET_ColorFragmentOp3ATI(disp, _mesa_ColorFragmentOp3ATI);
|
||||
SET_AlphaFragmentOp1ATI(disp, _mesa_AlphaFragmentOp1ATI);
|
||||
SET_AlphaFragmentOp2ATI(disp, _mesa_AlphaFragmentOp2ATI);
|
||||
SET_AlphaFragmentOp3ATI(disp, _mesa_AlphaFragmentOp3ATI);
|
||||
SET_SetFragmentShaderConstantATI(disp, _mesa_SetFragmentShaderConstantATI);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Allocate and initialize a new ATI fragment shader object.
|
||||
*/
|
||||
@@ -767,3 +790,5 @@ _mesa_SetFragmentShaderConstantATI(GLuint dst, const GLfloat * value)
|
||||
COPY_4V(ctx->ATIFragmentShader.GlobalConstants[dstindex], value);
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* FEATURE_ATI_fragment_shader */
|
||||
|
@@ -60,6 +60,11 @@ struct atifs_setupinst
|
||||
};
|
||||
|
||||
|
||||
#if FEATURE_ATI_fragment_shader
|
||||
|
||||
extern void
|
||||
_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp);
|
||||
|
||||
extern struct ati_fragment_shader *
|
||||
_mesa_new_ati_fragment_shader(GLcontext *ctx, GLuint id);
|
||||
|
||||
@@ -120,4 +125,25 @@ _mesa_AlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1,
|
||||
extern void GLAPIENTRY
|
||||
_mesa_SetFragmentShaderConstantATI(GLuint dst, const GLfloat * value);
|
||||
|
||||
#endif
|
||||
#else /* FEATURE_ATI_fragment_shader */
|
||||
|
||||
static INLINE void
|
||||
_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp)
|
||||
{
|
||||
}
|
||||
|
||||
static INLINE struct ati_fragment_shader *
|
||||
_mesa_new_ati_fragment_shader(GLcontext *ctx, GLuint id)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
_mesa_delete_ati_fragment_shader(GLcontext *ctx,
|
||||
struct ati_fragment_shader *s)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* FEATURE_ATI_fragment_shader */
|
||||
|
||||
#endif /* ATIFRAGSHADER_H */
|
||||
|
Reference in New Issue
Block a user