X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fsamplerobj.h;h=2a28757b9b22ca88a58e997045cfc984c3e7571b;hb=9527bb4e704e3d9229cb7977ae598ed207a0502d;hp=0bfda43517bd878c270a639627ae5dd064dd8ce8;hpb=b219b2c310911286f375d6b9967d5fd39ec1188a;p=mesa.git diff --git a/src/mesa/main/samplerobj.h b/src/mesa/main/samplerobj.h index 0bfda43517b..2a28757b9b2 100644 --- a/src/mesa/main/samplerobj.h +++ b/src/mesa/main/samplerobj.h @@ -16,9 +16,10 @@ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. */ @@ -26,6 +27,12 @@ #ifndef SAMPLEROBJ_H #define SAMPLEROBJ_H +#include "mtypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + struct dd_function_table; static inline struct gl_sampler_object * @@ -33,8 +40,10 @@ _mesa_get_samplerobj(struct gl_context *ctx, GLuint unit) { if (ctx->Texture.Unit[unit].Sampler) return ctx->Texture.Unit[unit].Sampler; - else + else if (ctx->Texture.Unit[unit]._Current) return &ctx->Texture.Unit[unit]._Current->Sampler; + else + return NULL; } @@ -60,22 +69,88 @@ _mesa_reference_sampler_object(struct gl_context *ctx, _mesa_reference_sampler_object_(ctx, ptr, samp); } - -extern void -_mesa_init_sampler_object(struct gl_sampler_object *sampObj, GLuint name); +extern struct gl_sampler_object * +_mesa_lookup_samplerobj(struct gl_context *ctx, GLuint name); extern struct gl_sampler_object * _mesa_new_sampler_object(struct gl_context *ctx, GLuint name); extern void -_mesa_delete_sampler_object(struct gl_context *ctx, - struct gl_sampler_object *sampObj); +_mesa_init_sampler_object_functions(struct dd_function_table *driver); extern void -_mesa_init_sampler_object_functions(struct dd_function_table *driver); +_mesa_set_sampler_wrap(struct gl_context *ctx, struct gl_sampler_object *samp, + GLenum s, GLenum t, GLenum r); + +extern void +_mesa_set_sampler_filters(struct gl_context *ctx, + struct gl_sampler_object *samp, + GLenum min_filter, GLenum mag_filter); extern void -_mesa_init_sampler_object_dispatch(struct _glapi_table *disp); +_mesa_set_sampler_srgb_decode(struct gl_context *ctx, + struct gl_sampler_object *samp, GLenum param); +extern void +_mesa_bind_sampler(struct gl_context *ctx, GLuint unit, + struct gl_sampler_object *sampObj); + +void GLAPIENTRY +_mesa_GenSamplers_no_error(GLsizei count, GLuint *samplers); + +void GLAPIENTRY +_mesa_GenSamplers(GLsizei count, GLuint *samplers); + +void GLAPIENTRY +_mesa_CreateSamplers_no_error(GLsizei count, GLuint *samplers); + +void GLAPIENTRY +_mesa_CreateSamplers(GLsizei count, GLuint *samplers); + +void GLAPIENTRY +_mesa_DeleteSamplers_no_error(GLsizei count, const GLuint *samplers); + +void GLAPIENTRY +_mesa_DeleteSamplers(GLsizei count, const GLuint *samplers); + +GLboolean GLAPIENTRY +_mesa_IsSampler(GLuint sampler); + +void GLAPIENTRY +_mesa_BindSampler_no_error(GLuint unit, GLuint sampler); + +void GLAPIENTRY +_mesa_BindSampler(GLuint unit, GLuint sampler); + +void GLAPIENTRY +_mesa_BindSamplers_no_error(GLuint first, GLsizei count, const GLuint *samplers); + +void GLAPIENTRY +_mesa_BindSamplers(GLuint first, GLsizei count, const GLuint *samplers); + +void GLAPIENTRY +_mesa_SamplerParameteri(GLuint sampler, GLenum pname, GLint param); +void GLAPIENTRY +_mesa_SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param); +void GLAPIENTRY +_mesa_SamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params); +void GLAPIENTRY +_mesa_SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params); +void GLAPIENTRY +_mesa_SamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params); +void GLAPIENTRY +_mesa_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params); +void GLAPIENTRY +_mesa_GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params); +void GLAPIENTRY +_mesa_GetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params); +void GLAPIENTRY +_mesa_GetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params); +void GLAPIENTRY +_mesa_GetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params); + +#ifdef __cplusplus +} +#endif #endif /* SAMPLEROBJ_H */