X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fswrast%2Fswrast.h;h=a299e6fda87895b92bb52a98e49cb977e64df29e;hb=f4a93e0665881dd58a95abb6525676bd1cc2e6af;hp=17b66c664297ae48636ce5cb4d28be6cfc2785f1;hpb=77c85f014aa1db44f60b1b3291af8132ab65f444;p=mesa.git diff --git a/src/mesa/swrast/swrast.h b/src/mesa/swrast/swrast.h index 17b66c66429..a299e6fda87 100644 --- a/src/mesa/swrast/swrast.h +++ b/src/mesa/swrast/swrast.h @@ -35,6 +35,34 @@ #include "main/mtypes.h" #include "swrast/s_chan.h" + +/** + * If non-zero use GLdouble for walking triangle edges, for better accuracy. + */ +#define TRIANGLE_WALK_DOUBLE 0 + + +/** + * Bits per depth buffer value (max is 32). + */ +#ifndef DEFAULT_SOFTWARE_DEPTH_BITS +#define DEFAULT_SOFTWARE_DEPTH_BITS 16 +#endif +/** Depth buffer data type */ +#if DEFAULT_SOFTWARE_DEPTH_BITS <= 16 +#define DEFAULT_SOFTWARE_DEPTH_TYPE GLushort +#else +#define DEFAULT_SOFTWARE_DEPTH_TYPE GLuint +#endif + + +/** + * Max image/surface/texture size. + */ +#define SWRAST_MAX_WIDTH 16384 +#define SWRAST_MAX_HEIGHT 16384 + + /** * \struct SWvertex * \brief Data-structure to handle vertices in the software rasterizer. @@ -110,6 +138,11 @@ _swrast_CopyPixels( struct gl_context *ctx, GLsizei width, GLsizei height, GLenum type ); +extern GLboolean +swrast_fast_copy_pixels(struct gl_context *ctx, + GLint srcX, GLint srcY, GLsizei width, GLsizei height, + GLint dstX, GLint dstY, GLenum type); + extern void _swrast_DrawPixels( struct gl_context *ctx, GLint x, GLint y, @@ -127,9 +160,6 @@ _swrast_BlitFramebuffer(struct gl_context *ctx, extern void _swrast_Clear(struct gl_context *ctx, GLbitfield buffers); -extern void -_swrast_Accum(struct gl_context *ctx, GLenum op, GLfloat value); - /* Reset the stipple counter @@ -189,6 +219,10 @@ _swrast_alloc_texture_image_buffer(struct gl_context *ctx, gl_format format, GLsizei width, GLsizei height, GLsizei depth); +extern void +_swrast_init_texture_image(struct gl_texture_image *texImage, GLsizei width, + GLsizei height, GLsizei depth); + extern void _swrast_free_texture_image_buffer(struct gl_context *ctx, struct gl_texture_image *texImage);