projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
replace malloc macros in imports.h with u_memory.h versions
[mesa.git]
/
src
/
mesa
/
main
/
shaderobj.h
diff --git
a/src/mesa/main/shaderobj.h
b/src/mesa/main/shaderobj.h
index 814a7f11552e8f18b67a315c7a826763eb46accd..0d512550de470344cb8eb371bd7fa1ed22cad6e0 100644
(file)
--- a/
src/mesa/main/shaderobj.h
+++ b/
src/mesa/main/shaderobj.h
@@
-27,16
+27,20
@@
#define SHADEROBJ_H
#define SHADEROBJ_H
-#include "main/compiler.h"
#include "main/glheader.h"
#include "main/glheader.h"
-#include "
main/mtype
s.h"
+#include "
compiler/shader_enum
s.h"
#include "program/ir_to_mesa.h"
#include "program/ir_to_mesa.h"
+#include "util/macros.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
extern "C" {
#endif
+struct gl_shader_program_data;
+struct gl_linked_shader;
+struct dd_function_table;
+struct gl_pipeline_object;
/**
* Internal functions
/**
* Internal functions
@@
-66,6
+70,11
@@
_mesa_reference_shader_program_(struct gl_context *ctx,
struct gl_shader_program **ptr,
struct gl_shader_program *shProg);
struct gl_shader_program **ptr,
struct gl_shader_program *shProg);
+void
+_mesa_reference_shader_program_data(struct gl_context *ctx,
+ struct gl_shader_program_data **ptr,
+ struct gl_shader_program_data *data);
+
static inline void
_mesa_reference_shader_program(struct gl_context *ctx,
struct gl_shader_program **ptr,
static inline void
_mesa_reference_shader_program(struct gl_context *ctx,
struct gl_shader_program **ptr,
@@
-78,9
+87,6
@@
_mesa_reference_shader_program(struct gl_context *ctx,
extern struct gl_shader *
_mesa_new_shader(GLuint name, gl_shader_stage type);
extern struct gl_shader *
_mesa_new_shader(GLuint name, gl_shader_stage type);
-extern struct gl_linked_shader *
-_mesa_new_linked_shader(gl_shader_stage type);
-
extern void
_mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh);
extern void
_mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh);
@@
-98,8
+104,12
@@
_mesa_lookup_shader_program_err(struct gl_context *ctx, GLuint name,
extern struct gl_shader_program *
_mesa_new_shader_program(GLuint name);
extern struct gl_shader_program *
_mesa_new_shader_program(GLuint name);
+extern struct gl_shader_program_data *
+_mesa_create_shader_program_data(void);
+
extern void
extern void
-_mesa_clear_shader_program_data(struct gl_shader_program *shProg);
+_mesa_clear_shader_program_data(struct gl_context *ctx,
+ struct gl_shader_program *shProg);
extern void
_mesa_free_shader_program_data(struct gl_context *ctx,
extern void
_mesa_free_shader_program_data(struct gl_context *ctx,
@@
-213,6
+223,11
@@
_mesa_shader_stage_to_subroutine(gl_shader_stage stage)
return GL_TESS_CONTROL_SUBROUTINE;
case MESA_SHADER_TESS_EVAL:
return GL_TESS_EVALUATION_SUBROUTINE;
return GL_TESS_CONTROL_SUBROUTINE;
case MESA_SHADER_TESS_EVAL:
return GL_TESS_EVALUATION_SUBROUTINE;
+ case MESA_SHADER_NONE:
+ break;
+ case MESA_SHADER_KERNEL:
+ unreachable("not reached");
+ break;
}
unreachable("not reached");
}
}
unreachable("not reached");
}
@@
-233,6
+248,9
@@
_mesa_shader_stage_to_subroutine_uniform(gl_shader_stage stage)
return GL_TESS_CONTROL_SUBROUTINE_UNIFORM;
case MESA_SHADER_TESS_EVAL:
return GL_TESS_EVALUATION_SUBROUTINE_UNIFORM;
return GL_TESS_CONTROL_SUBROUTINE_UNIFORM;
case MESA_SHADER_TESS_EVAL:
return GL_TESS_EVALUATION_SUBROUTINE_UNIFORM;
+ case MESA_SHADER_NONE:
+ case MESA_SHADER_KERNEL:
+ break;
}
unreachable("not reached");
}
}
unreachable("not reached");
}