diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/pipe/softpipe/sp_z_surface.c | 213 | ||||
-rw-r--r-- | src/mesa/pipe/softpipe/sp_z_surface.h | 37 |
2 files changed, 0 insertions, 250 deletions
diff --git a/src/mesa/pipe/softpipe/sp_z_surface.c b/src/mesa/pipe/softpipe/sp_z_surface.c deleted file mode 100644 index 7ff1a0cbc8..0000000000 --- a/src/mesa/pipe/softpipe/sp_z_surface.c +++ /dev/null @@ -1,213 +0,0 @@ -/************************************************************************** - * - * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * 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 NON-INFRINGEMENT. - * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS 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. - * - **************************************************************************/ - - -/** - * Software Z buffer/surface. - * - * \author Brian Paul - */ - - -#include "main/imports.h" -#include "pipe/p_state.h" -#include "pipe/p_defines.h" -#include "sp_context.h" -#include "sp_surface.h" -#include "sp_z_surface.h" - -static void -z16_read_quad_z(struct softpipe_surface *sps, - GLint x, GLint y, GLuint zzzz[QUAD_SIZE]) -{ - const GLushort *src - = (GLushort *) sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_U_Z16); - - /* converting GLushort to GLuint: */ - zzzz[0] = src[0]; - zzzz[1] = src[1]; - zzzz[2] = src[sps->surface.region->pitch + 0]; - zzzz[3] = src[sps->surface.region->pitch + 1]; -} - -static void -z16_write_quad_z(struct softpipe_surface *sps, - GLint x, GLint y, const GLuint zzzz[QUAD_SIZE]) -{ - GLushort *dst = (GLushort *) sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_U_Z16); - - /* converting GLuint to GLushort: */ - dst[0] = zzzz[0]; - dst[1] = zzzz[1]; - dst[sps->surface.region->pitch + 0] = zzzz[2]; - dst[sps->surface.region->pitch + 1] = zzzz[3]; -} - -static void -z32_read_quad_z(struct softpipe_surface *sps, - GLint x, GLint y, GLuint zzzz[QUAD_SIZE]) -{ - const GLuint *src - = (GLuint *) sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_U_Z32); - - zzzz[0] = src[0]; - zzzz[1] = src[1]; - zzzz[2] = src[sps->surface.region->pitch + 0]; - zzzz[3] = src[sps->surface.region->pitch + 1]; -} - -static void -z32_write_quad_z(struct softpipe_surface *sps, - GLint x, GLint y, const GLuint zzzz[QUAD_SIZE]) -{ - GLuint *dst = (GLuint *) sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_U_Z32); - - dst[0] = zzzz[0]; - dst[1] = zzzz[1]; - dst[sps->surface.region->pitch + 0] = zzzz[2]; - dst[sps->surface.region->pitch + 1] = zzzz[3]; -} - -static void -z24s8_read_quad_z(struct softpipe_surface *sps, - GLint x, GLint y, GLuint zzzz[QUAD_SIZE]) -{ - const GLuint *src - = (GLuint *) sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_Z24_S8); - - zzzz[0] = src[0] >> 8; - zzzz[1] = src[1] >> 8; - zzzz[2] = src[sps->surface.region->pitch + 0] >> 8; - zzzz[3] = src[sps->surface.region->pitch + 1] >> 8; -} - -static void -z24s8_write_quad_z(struct softpipe_surface *sps, - GLint x, GLint y, const GLuint zzzz[QUAD_SIZE]) -{ - GLuint *dst = (GLuint *) sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_Z24_S8); - assert(zzzz[0] <= 0xffffff); - - dst[0] = (dst[0] & 0xff) | (zzzz[0] << 8); - dst[1] = (dst[1] & 0xff) | (zzzz[1] << 8); - dst += sps->surface.region->pitch; - dst[0] = (dst[0] & 0xff) | (zzzz[2] << 8); - dst[1] = (dst[1] & 0xff) | (zzzz[3] << 8); -} - -static void -z24s8_read_quad_stencil(struct softpipe_surface *sps, - GLint x, GLint y, GLubyte ssss[QUAD_SIZE]) -{ - const GLuint *src - = (GLuint *) sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_Z24_S8); - - ssss[0] = src[0] & 0xff; - ssss[1] = src[1] & 0xff; - ssss[2] = src[sps->surface.region->pitch + 0] & 0xff; - ssss[3] = src[sps->surface.region->pitch + 1] & 0xff; -} - -static void -z24s8_write_quad_stencil(struct softpipe_surface *sps, - GLint x, GLint y, const GLubyte ssss[QUAD_SIZE]) -{ - GLuint *dst = (GLuint *) sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_Z24_S8); - - dst[0] = (dst[0] & 0xffffff00) | ssss[0]; - dst[1] = (dst[1] & 0xffffff00) | ssss[1]; - dst += sps->surface.region->pitch; - dst[0] = (dst[0] & 0xffffff00) | ssss[2]; - dst[1] = (dst[1] & 0xffffff00) | ssss[3]; -} - - -static void -s8_read_quad_stencil(struct softpipe_surface *sps, - GLint x, GLint y, GLubyte ssss[QUAD_SIZE]) -{ - const GLubyte *src - = sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_U_S8); - - ssss[0] = src[0]; - ssss[1] = src[1]; - src += sps->surface.region->pitch; - ssss[2] = src[0]; - ssss[3] = src[1]; -} - -static void -s8_write_quad_stencil(struct softpipe_surface *sps, - GLint x, GLint y, const GLubyte ssss[QUAD_SIZE]) -{ - GLubyte *dst - = sps->surface.region->map + y * sps->surface.region->pitch + x; - - assert(sps->surface.format == PIPE_FORMAT_U_S8); - - dst[0] = ssss[0]; - dst[1] = ssss[1]; - dst += sps->surface.region->pitch; - dst[0] = ssss[2]; - dst[1] = ssss[3]; -} - - - -/** - * Create a new software-based Z buffer. - * \param format one of the PIPE_FORMAT_z* formats - */ -struct softpipe_surface * -softpipe_new_z_surface(GLuint format) -{ - struct softpipe_surface *sps = CALLOC_STRUCT(softpipe_surface); - if (!sps) - return NULL; - - sps->surface.format = format; - - return sps; -} diff --git a/src/mesa/pipe/softpipe/sp_z_surface.h b/src/mesa/pipe/softpipe/sp_z_surface.h deleted file mode 100644 index 6a8d89a7c1..0000000000 --- a/src/mesa/pipe/softpipe/sp_z_surface.h +++ /dev/null @@ -1,37 +0,0 @@ -/************************************************************************** - * - * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * 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 NON-INFRINGEMENT. - * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS 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. - * - **************************************************************************/ - - -#ifndef SP_Z_SURFACE_H -#define SP_Z_SURFACE_H - - -extern struct softpipe_surface * -softpipe_new_z_surface(GLuint format); - - -#endif /* SP_Z_SURFACE_H */ |