struct gl_program *prog);
/** Allocate a new program */
struct gl_program * (*NewProgram)(struct gl_context *ctx, GLenum target,
- GLuint id);
+ GLuint id, bool is_arb_asm);
/** Delete a program */
void (*DeleteProgram)(struct gl_context *ctx, struct gl_program *prog);
/**
/** Set texture environment parameters */
void (*TexEnv)(struct gl_context *ctx, GLenum target, GLenum pname,
const GLfloat *param);
- /** Set texture parameters */
+ /** Set texture parameter (callee gets param value from the texObj) */
void (*TexParameter)(struct gl_context *ctx,
- struct gl_texture_object *texObj,
- GLenum pname, const GLfloat *params);
+ struct gl_texture_object *texObj, GLenum pname);
/** Set the viewport */
void (*Viewport)(struct gl_context *ctx);
/*@}*/
/*@}*/
/**
- * \name GLSL-related functions (ARB extensions and OpenGL 2.x)
+ * \name Performance Query objects
*/
/*@{*/
- struct gl_linked_shader *(*NewShader)(gl_shader_stage stage);
+ unsigned (*InitPerfQueryInfo)(struct gl_context *ctx);
+ void (*GetPerfQueryInfo)(struct gl_context *ctx,
+ unsigned queryIndex,
+ const char **name,
+ GLuint *dataSize,
+ GLuint *numCounters,
+ GLuint *numActive);
+ void (*GetPerfCounterInfo)(struct gl_context *ctx,
+ unsigned queryIndex,
+ unsigned counterIndex,
+ const char **name,
+ const char **desc,
+ GLuint *offset,
+ GLuint *data_size,
+ GLuint *type_enum,
+ GLuint *data_type_enum,
+ GLuint64 *raw_max);
+ struct gl_perf_query_object * (*NewPerfQueryObject)(struct gl_context *ctx,
+ unsigned queryIndex);
+ void (*DeletePerfQuery)(struct gl_context *ctx,
+ struct gl_perf_query_object *obj);
+ bool (*BeginPerfQuery)(struct gl_context *ctx,
+ struct gl_perf_query_object *obj);
+ void (*EndPerfQuery)(struct gl_context *ctx,
+ struct gl_perf_query_object *obj);
+ void (*WaitPerfQuery)(struct gl_context *ctx,
+ struct gl_perf_query_object *obj);
+ bool (*IsPerfQueryReady)(struct gl_context *ctx,
+ struct gl_perf_query_object *obj);
+ void (*GetPerfQueryData)(struct gl_context *ctx,
+ struct gl_perf_query_object *obj,
+ GLsizei dataSize,
+ GLuint *data,
+ GLuint *bytesWritten);
/*@}*/
+
/**
* \name GREMEDY debug/marker functions
*/