X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglx%2Findirect.c;h=a6b0c0d6dac772ed2329bc35bf2315e9a49f990f;hb=3917503b9a48275f389ec1e563fdb53415b87171;hp=f79175b760d8c57496e86fa42d0694cae570c5ef;hpb=e8c7d7598fb48237508f566204c71ba8f74d544f;p=mesa.git diff --git a/src/glx/indirect.c b/src/glx/indirect.c index f79175b760d..a6b0c0d6dac 100644 --- a/src/glx/indirect.c +++ b/src/glx/indirect.c @@ -41,19 +41,19 @@ #define __GLX_PAD(n) (((n) + 3) & ~3) -# if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__) -# define FASTCALL __attribute__((fastcall)) -# else -# define FASTCALL -# endif -# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) -# define NOINLINE __attribute__((noinline)) -# else -# define NOINLINE -# endif +#if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__) +#define FASTCALL __attribute__((fastcall)) +#else +#define FASTCALL +#endif +#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) +#define NOINLINE __attribute__((noinline)) +#else +#define NOINLINE +#endif #ifndef __GNUC__ -# define __builtin_expect(x, y) x +#define __builtin_expect(x, y) x #endif /* If the size and opcode values are known at compile-time, this will, on @@ -8597,6 +8597,21 @@ __indirect_glDrawBuffersARB(GLsizei n, const GLenum * bufs) } } +#define X_GLrop_ClampColorARB 234 +void +__indirect_glClampColorARB(GLenum target, GLenum clamp) +{ + struct glx_context *const gc = __glXGetCurrentContext(); + const GLuint cmdlen = 12; + emit_header(gc->pc, X_GLrop_ClampColorARB, cmdlen); + (void) memcpy((void *) (gc->pc + 4), (void *) (&target), 4); + (void) memcpy((void *) (gc->pc + 8), (void *) (&clamp), 4); + gc->pc += cmdlen; + if (__builtin_expect(gc->pc > gc->limit, 0)) { + (void) __glXFlushRenderBuffer(gc, gc->pc); + } +} + #define X_GLrop_RenderbufferStorageMultisample 4331 void __indirect_glRenderbufferStorageMultisample(GLenum target, GLsizei samples,