Browse Source

Merge branch '7.8'

tags/mesa-7.9-rc1
Michel Dänzer 15 years ago
parent
commit
b13e305ee1
42 changed files with 150 additions and 162 deletions
  1. 12
    4
      configure.ac
  2. 1
    1
      docs/README.3DFX
  3. 1
    1
      docs/egl.html
  4. 3
    3
      progs/egl/Makefile
  5. 1
    1
      progs/objviewer/glm.c
  6. 1
    1
      progs/objviewer/glm.h
  7. 13
    0
      progs/redbook/.gitignore
  8. 1
    1
      progs/tests/vao-01.c
  9. 1
    1
      progs/tests/vao-02.c
  10. 4
    3
      progs/xdemos/.gitignore
  11. 1
    1
      progs/xdemos/Makefile
  12. 1
    1
      src/gallium/auxiliary/os/os_time.h
  13. 1
    1
      src/gallium/drivers/cell/ppu/cell_gen_fragment.c
  14. 1
    1
      src/gallium/drivers/cell/ppu/cell_spu.c
  15. 1
    1
      src/gallium/drivers/nv40/nv40_vertprog.c
  16. 2
    2
      src/gallium/drivers/r300/r300_reg.h
  17. 52
    49
      src/gallium/state_trackers/dri/dri_screen.c
  18. 1
    1
      src/gallium/state_trackers/wgl/stw_framebuffer.h
  19. 1
    0
      src/gallium/winsys/drm/vmware/dri/SConscript
  20. 1
    1
      src/glu/sgi/libnurbs/nurbtess/partitionY.h
  21. 1
    1
      src/glu/sgi/libtess/normal.c
  22. 1
    1
      src/mesa/drivers/dri/common/dri_util.c
  23. 1
    1
      src/mesa/drivers/dri/r128/r128_tex.c
  24. 1
    1
      src/mesa/drivers/dri/r200/r200_reg.h
  25. 2
    2
      src/mesa/drivers/dri/r300/r300_reg.h
  26. 1
    1
      src/mesa/drivers/dri/r600/r700_vertprog.c
  27. 2
    0
      src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
  28. 1
    1
      src/mesa/drivers/dri/radeon/radeon_state.c
  29. 1
    1
      src/mesa/drivers/x11/xmesa.h
  30. 1
    1
      src/mesa/drivers/x11/xmesaP.h
  31. 1
    1
      src/mesa/main/dd.h
  32. 1
    1
      src/mesa/main/texcompress_fxt1.c
  33. 1
    1
      src/mesa/math/m_debug_util.h
  34. 1
    1
      src/mesa/math/m_matrix.c
  35. 12
    26
      src/mesa/shader/lex.yy.c
  36. 2
    2
      src/mesa/shader/prog_instruction.h
  37. 4
    4
      src/mesa/shader/program_lexer.l
  38. 1
    1
      src/mesa/shader/program_parser.h
  39. 1
    1
      src/mesa/shader/slang/library/slang_common_builtin.gc
  40. 12
    38
      src/mesa/state_tracker/st_framebuffer.c
  41. 1
    1
      src/mesa/swrast/s_depth.c
  42. 1
    1
      src/mesa/vbo/vbo_save_loopback.c

+ 12
- 4
configure.ac View File

@@ -22,6 +22,8 @@ LIBDRM_REQUIRED=2.4.15
LIBDRM_RADEON_REQUIRED=2.4.17
DRI2PROTO_REQUIRED=2.1
GLPROTO_REQUIRED=1.4.11
LIBDRM_XORG_REQUIRED=2.4.17
LIBKMS_XORG_REQUIRED=1.0.0

dnl Check for progs
AC_PROG_CPP
@@ -1203,7 +1205,7 @@ yes)
GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl"
fi
# Have only tested st/xorg on 1.6.0 servers
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0],
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED],
HAVE_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg",
HAVE_XORG="no")
;;
@@ -1223,9 +1225,9 @@ yes)
fi
;;
xorg)
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
HAVE_XEXTPROTO_71="no")
PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
HAVE_XORG="yes"
;;
es)
# mesa/es is required to build es state tracker
@@ -1237,6 +1239,12 @@ yes)
;;
esac

if test "x$HAVE_XORG" = xyes; then
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
HAVE_XEXTPROTO_71="no")
fi

AC_ARG_WITH([egl-displays],
[AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@],
[comma delimited native displays libEGL supports, e.g.

+ 1
- 1
docs/README.3DFX View File

@@ -644,7 +644,7 @@ Hints and Special Features:

- The Voodoo driver supports the GL_EXT_paletted_texture. it works
only with GL_COLOR_INDEX8_EXT, GL_RGBA palettes and the alpha value
is ignored because this is a limitation of the the current Glide
is ignored because this is a limitation of the current Glide
version and of the Voodoo hardware. See Mesa-3.1/3Dfx/demos/paltex.c for
a demo of this extension.


+ 1
- 1
docs/egl.html View File

@@ -28,7 +28,7 @@ cards.</p>

<ol>
<li>
<p>Run <code>configure</code> with the desired state trackers and and enable
<p>Run <code>configure</code> with the desired state trackers and enable
the Gallium driver for your hardware. For example</p>

<pre>

+ 3
- 3
progs/egl/Makefile View File

@@ -57,13 +57,13 @@ peglgears: peglgears.o $(HEADERS) $(LIB_DEP)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(LIBDRM_LIB) -lm

xeglgears: xeglgears.o $(HEADERS) $(LIB_DEP)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lX11 -lm
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lm -L$(libdir) -lX11

xeglthreads: xeglthreads.o $(HEADERS) $(LIB_DEP)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lX11 -lm
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lm -L$(libdir) -lX11

xegl_tri: xegl_tri.o $(HEADERS) $(LIB_DEP)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lX11
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) -lm -L$(libdir) -lX11

clean:
-rm -f *.o *~

+ 1
- 1
progs/objviewer/glm.c View File

@@ -1041,7 +1041,7 @@ glmFacetNormals(GLMmodel* model)

/* glmVertexNormals: Generates smooth vertex normals for a model.
* First builds a list of all the triangles each vertex is in. Then
* loops through each vertex in the the list averaging all the facet
* loops through each vertex in the list averaging all the facet
* normals of the triangles each vertex is in. Finally, sets the
* normal index in the triangle for the vertex to the generated smooth
* normal. If the dot product of a facet normal and the facet normal

+ 1
- 1
progs/objviewer/glm.h View File

@@ -153,7 +153,7 @@ glmFacetNormals(GLMmodel* model);

/* glmVertexNormals: Generates smooth vertex normals for a model.
* First builds a list of all the triangles each vertex is in. Then
* loops through each vertex in the the list averaging all the facet
* loops through each vertex in the list averaging all the facet
* normals of the triangles each vertex is in. Finally, sets the
* normal index in the triangle for the vertex to the generated smooth
* normal. If the dot product of a facet normal and the facet normal

+ 13
- 0
progs/redbook/.gitignore View File

@@ -12,29 +12,39 @@ bezmesh
checker
clip
colormat
combiner
convolution
cube
cubemap
depthcue
dof
double
drawf
feedback
fog
fogcoord
fogindex
font
hello
histogram
image
light
lines
list
material
minmax
mipmap
model
movelight
multisamp
multitex
mvarray
nurbs
pickdepth
picksquare
plane
planet
pointp
polyoff
polys
quadric
@@ -44,10 +54,12 @@ scene
scenebamb
sceneflat
select
shadowmap
smooth
stencil
stroke
surface
surfpoints
teaambient
teapots
tess
@@ -56,6 +68,7 @@ texbind
texgen
texprox
texsub
texture3d
texturesurf
torus
trim

+ 1
- 1
progs/tests/vao-01.c View File

@@ -30,7 +30,7 @@
* it (via \c glPopClientAttrib). After popping, the state of the VAO is
* examined.
*
* According the the APPLE_vertex_array_object spec, the contents of the VAO
* According to the APPLE_vertex_array_object spec, the contents of the VAO
* should be restored to the values that they had when pushed.
*
* \author Ian Romanick <idr@us.ibm.com>

+ 1
- 1
progs/tests/vao-02.c View File

@@ -30,7 +30,7 @@
* it (via \c glPopClientAttrib). After popping, the state of the VAO is
* examined.
*
* According the the APPLE_vertex_array_object spec, the contents of the VAO
* According to the APPLE_vertex_array_object spec, the contents of the VAO
* should be restored to the values that they had when pushed.
*
* \author Ian Romanick <idr@us.ibm.com>

+ 4
- 3
progs/xdemos/.gitignore View File

@@ -13,11 +13,14 @@ glxpixmap
glxsnoop
glxswapcontrol
manywin
msctest
multictx
offset
omlsync
overlay
pbdemo
pbinfo
pbdemo
shape
sharedtex
sharedtex_mt
texture_from_pixmap
@@ -26,5 +29,3 @@ xdemo
xfont
xrotfontdemo
yuvrect_client
msctest
omlsync

+ 1
- 1
progs/xdemos/Makefile View File

@@ -11,7 +11,7 @@ LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
# Add X11 and pthread libs to satisfy GNU gold.
APP_LIB_DEPS += -lX11 -lpthread

LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(APP_LIB_DEPS)
LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(libdir) $(APP_LIB_DEPS)

PROGS = \
corender \

+ 1
- 1
src/gallium/auxiliary/os/os_time.h View File

@@ -71,7 +71,7 @@ os_time_sleep(int64_t usecs);
/*
* Helper function for detecting time outs, taking in account overflow.
*
* Returns true the the current time has elapsed beyond the specified interval.
* Returns true if the current time has elapsed beyond the specified interval.
*/
static INLINE boolean
os_time_timeout(int64_t start,

+ 1
- 1
src/gallium/drivers/cell/ppu/cell_gen_fragment.c View File

@@ -1352,7 +1352,7 @@ gen_stencil_values(struct spe_function *f,
*/
ASSERT(fbS_reg != newS_reg);

/* The code also assumes the the stencil_max_value is of the form
/* The code also assumes that the stencil_max_value is of the form
* 2^n-1 and can therefore be used as a mask for the valid bits in
* addition to a maximum. Make sure this is the case as well.
* The clever math below exploits the fact that incrementing a

+ 1
- 1
src/gallium/drivers/cell/ppu/cell_spu.c View File

@@ -135,7 +135,7 @@ cell_thread_function(void *arg)

/**
* Create the SPU threads. This is done once during driver initialization.
* This involves setting the the "init" message which is sent to each SPU.
* This involves setting the "init" message which is sent to each SPU.
* The init message specifies an SPU id, total number of SPUs, location
* and number of batch buffers, etc.
*/

+ 1
- 1
src/gallium/drivers/nv40/nv40_vertprog.c View File

@@ -742,7 +742,7 @@ nv40_vertprog_translate(struct nv40_context *nv40,
}

/* Redirect post-transform vertex position to a temp if user clip
* planes are enabled. We need to append code the the vtxprog
* planes are enabled. We need to append code to the vtxprog
* to handle clip planes later.
*/
if (vp->ucp.nr) {

+ 2
- 2
src/gallium/drivers/r300/r300_reg.h View File

@@ -540,7 +540,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
# define R300_PVS_FIRST_INST(x) ((x) << 0)
# define R300_PVS_XYZW_VALID_INST(x) ((x) << 10)
# define R300_PVS_LAST_INST(x) ((x) << 20)
/* Addresses are relative the the vertex program parameters area. */
/* Addresses are relative to the vertex program parameters area. */
#define R300_VAP_PVS_CONST_CNTL 0x22D4
# define R300_PVS_CONST_BASE_OFFSET_SHIFT 0
# define R300_PVS_MAX_CONST_ADDR_SHIFT 16
@@ -1857,7 +1857,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
* The destination register index is in FPI1 (color) and FPI3 (alpha)
* together with enable bits.
* There are separate enable bits for writing into temporary registers
* (DSTC_REG_* /DSTA_REG) and and program output registers (DSTC_OUTPUT_*
* (DSTC_REG_* /DSTA_REG) and program output registers (DSTC_OUTPUT_*
* /DSTA_OUTPUT). You can write to both at once, or not write at all (the
* same index must be used for both).
*

+ 52
- 49
src/gallium/state_trackers/dri/dri_screen.c View File

@@ -90,6 +90,9 @@ dri_fill_in_modes(struct dri_screen *screen,
unsigned pixel_bits)
{
__DRIconfig **configs = NULL;
__DRIconfig **configs_r5g6b5 = NULL;
__DRIconfig **configs_a8r8g8b8 = NULL;
__DRIconfig **configs_x8r8g8b8 = NULL;
unsigned num_modes;
uint8_t depth_bits_array[5];
uint8_t stencil_bits_array[5];
@@ -127,25 +130,23 @@ dri_fill_in_modes(struct dri_screen *screen,
pf_x8r8g8b8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_B8G8R8X8_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);

/* we support buffers with different depths only if we can tell the driver
* the actual depth of each of them. */
if (screen->sPriv->dri2.loader
&& (screen->sPriv->dri2.loader->base.version > 2)
&& (screen->sPriv->dri2.loader->getBuffersWithFormat != NULL)) {
pf_r5g6b5 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_B5G6R5_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);

/* We can only get a 16 or 32 bit depth buffer with getBuffersWithFormat */
if (screen->sPriv->dri2.loader &&
(screen->sPriv->dri2.loader->base.version > 2) &&
(screen->sPriv->dri2.loader->getBuffersWithFormat != NULL)) {
pf_z16 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z16_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0);
pf_z32 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z32_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0);
pf_r5g6b5 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_B5G6R5_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);
} else {
pf_z16 = FALSE;
pf_z32 = FALSE;
pf_r5g6b5 = FALSE;
}

if (pf_z16) {
@@ -175,46 +176,48 @@ dri_fill_in_modes(struct dri_screen *screen,
num_modes =
depth_buffer_factor * back_buffer_factor * msaa_samples_factor * 4;

if (pixel_bits == 16 && pf_r5g6b5) {
configs = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5,
depth_bits_array, stencil_bits_array,
depth_buffer_factor, back_buffer_modes,
back_buffer_factor,
msaa_samples_array, msaa_samples_factor,
GL_TRUE);
if (pf_r5g6b5)
configs_r5g6b5 = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5,
depth_bits_array, stencil_bits_array,
depth_buffer_factor, back_buffer_modes,
back_buffer_factor,
msaa_samples_array, msaa_samples_factor,
GL_TRUE);

if (pf_a8r8g8b8)
configs_a8r8g8b8 = driCreateConfigs(GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV,
depth_bits_array,
stencil_bits_array,
depth_buffer_factor,
back_buffer_modes,
back_buffer_factor,
msaa_samples_array,
msaa_samples_factor,
GL_TRUE);

if (pf_x8r8g8b8)
configs_x8r8g8b8 = driCreateConfigs(GL_BGR, GL_UNSIGNED_INT_8_8_8_8_REV,
depth_bits_array,
stencil_bits_array,
depth_buffer_factor,
back_buffer_modes,
back_buffer_factor,
msaa_samples_array,
msaa_samples_factor,
GL_TRUE);

if (pixel_bits == 16) {
configs = configs_r5g6b5;
if (configs_a8r8g8b8)
configs = configs ? driConcatConfigs(configs, configs_a8r8g8b8) : configs_a8r8g8b8;
if (configs_x8r8g8b8)
configs = configs ? driConcatConfigs(configs, configs_x8r8g8b8) : configs_x8r8g8b8;
} else {
__DRIconfig **configs_a8r8g8b8 = NULL;
__DRIconfig **configs_x8r8g8b8 = NULL;

if (pf_a8r8g8b8)
configs_a8r8g8b8 = driCreateConfigs(GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV,
depth_bits_array,
stencil_bits_array,
depth_buffer_factor,
back_buffer_modes,
back_buffer_factor,
msaa_samples_array,
msaa_samples_factor,
GL_TRUE);
if (pf_x8r8g8b8)
configs_x8r8g8b8 = driCreateConfigs(GL_BGR, GL_UNSIGNED_INT_8_8_8_8_REV,
depth_bits_array,
stencil_bits_array,
depth_buffer_factor,
back_buffer_modes,
back_buffer_factor,
msaa_samples_array,
msaa_samples_factor,
GL_TRUE);

if (configs_a8r8g8b8 && configs_x8r8g8b8)
configs = driConcatConfigs(configs_x8r8g8b8, configs_a8r8g8b8);
else if (configs_a8r8g8b8)
configs = configs_a8r8g8b8;
else if (configs_x8r8g8b8)
configs = configs_x8r8g8b8;
else
configs = NULL;
configs = configs_a8r8g8b8;
if (configs_x8r8g8b8)
configs = configs ? driConcatConfigs(configs, configs_x8r8g8b8) : configs_x8r8g8b8;
if (configs_r5g6b5)
configs = configs ? driConcatConfigs(configs, configs_r5g6b5) : configs_r5g6b5;
}

if (configs == NULL) {

+ 1
- 1
src/gallium/state_trackers/wgl/stw_framebuffer.h View File

@@ -45,7 +45,7 @@ struct stw_framebuffer
/**
* This mutex has two purposes:
* - protect the access to the mutable data members below
* - prevent the the framebuffer from being deleted while being accessed.
* - prevent the framebuffer from being deleted while being accessed.
*
* It is OK to lock this mutex while holding the stw_device::fb_mutex lock,
* but the opposite must never happen.

+ 1
- 0
src/gallium/winsys/drm/vmware/dri/SConscript View File

@@ -48,6 +48,7 @@ if env['platform'] == 'linux':
svgadrm,
svga,
mesa,
glsl,
gallium,
])

+ 1
- 1
src/glu/sgi/libnurbs/nurbtess/partitionY.h View File

@@ -39,7 +39,7 @@
*or both at or below v. In addition, at least one of the ajacent verteces is
*strictly below or above v.
* A vertex is a relex vertex if the internals angle is strictly greater than
*180. In other words, if the the signed area is negative:
*180. In other words, if the signed area is negative:
*(x1, y1), (x2, y2), (x3, y3) are the three vertices along a polygon, the
*order is such that left hand side is inside the polygon. Then (x2,y2) is
*reflex if:

+ 1
- 1
src/glu/sgi/libtess/normal.c View File

@@ -142,7 +142,7 @@ static void CheckOrientation( GLUtesselator *tess )
GLUhalfEdge *e;

/* When we compute the normal automatically, we choose the orientation
* so that the the sum of the signed areas of all contours is non-negative.
* so that the sum of the signed areas of all contours is non-negative.
*/
area = 0;
for( f = fHead->next; f != fHead; f = f->next ) {

+ 1
- 1
src/mesa/drivers/dri/common/dri_util.c View File

@@ -698,7 +698,7 @@ setupLoaderExtensions(__DRIscreen *psp,
* \param drm_version Version of the kernel DRM.
* \param frame_buffer Data describing the location and layout of the
* framebuffer.
* \param pSAREA Pointer the the SAREA.
* \param pSAREA Pointer to the SAREA.
* \param fd Device handle for the DRM.
* \param extensions ??
* \param driver_modes Returns modes suppoted by the driver

+ 1
- 1
src/mesa/drivers/dri/r128/r128_tex.c View File

@@ -468,7 +468,7 @@ static void r128TexEnv( GLcontext *ctx, GLenum target,
* certain point. It is better than completely ignoring the LOD
* bias. Unfortunately there isn't much range in the bias, the
* spec mentions strides that vary between 0.5 and 2.0 but these
* numbers don't seem to relate the the GL LOD bias value at all.
* numbers don't seem to relate to the GL LOD bias value at all.
*/
if ( param[0] >= 1.0 ) {
bias = -128;

+ 1
- 1
src/mesa/drivers/dri/r200/r200_reg.h View File

@@ -690,7 +690,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# define R200_PVS_CNTL_1_PROGRAM_START_SHIFT 0
# define R200_PVS_CNTL_1_POS_END_SHIFT 10
# define R200_PVS_CNTL_1_PROGRAM_END_SHIFT 20
/* Addresses are relative the the vertex program parameters area. */
/* Addresses are relative to the vertex program parameters area. */
#define R200_VAP_PVS_CNTL_2 0x22d4
# define R200_PVS_CNTL_2_PARAM_OFFSET_SHIFT 0
# define R200_PVS_CNTL_2_PARAM_COUNT_SHIFT 16

+ 2
- 2
src/mesa/drivers/dri/r300/r300_reg.h View File

@@ -482,7 +482,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
# define R300_PVS_FIRST_INST_SHIFT 0
# define R300_PVS_XYZW_VALID_INST_SHIFT 10
# define R300_PVS_LAST_INST_SHIFT 20
/* Addresses are relative the the vertex program parameters area. */
/* Addresses are relative to the vertex program parameters area. */
#define R300_VAP_PVS_CONST_CNTL 0x22D4
# define R300_PVS_CONST_BASE_OFFSET_SHIFT 0
# define R300_PVS_MAX_CONST_ADDR_SHIFT 16
@@ -1760,7 +1760,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
* The destination register index is in FPI1 (color) and FPI3 (alpha)
* together with enable bits.
* There are separate enable bits for writing into temporary registers
* (DSTC_REG_* /DSTA_REG) and and program output registers (DSTC_OUTPUT_*
* (DSTC_REG_* /DSTA_REG) and program output registers (DSTC_OUTPUT_*
* /DSTA_OUTPUT). You can write to both at once, or not write at all (the
* same index must be used for both).
*

+ 1
- 1
src/mesa/drivers/dri/r600/r700_vertprog.c View File

@@ -42,7 +42,7 @@
#include "radeon_debug.h"
#include "r600_context.h"
#include "r600_cmdbuf.h"
#include "shader/programopt.c"
#include "shader/programopt.h"

#include "r700_debug.h"
#include "r700_vertprog.h"

+ 2
- 0
src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c View File

@@ -553,6 +553,8 @@ static radeon_mipmap_tree * get_biggest_matching_miptree(radeonTexObj *texObj,
}

if (mtCount == 0) {
free(mtSizes);
free(mts);
return NULL;
}


+ 1
- 1
src/mesa/drivers/dri/radeon/radeon_state.c View File

@@ -1901,7 +1901,7 @@ void radeonUploadTexMatrix( r100ContextPtr rmesa,
So: if we need the q coord in the end (solely determined by the texture
target, i.e. 2d / 1d / texrect targets) we swap the third and 4th row.
Additionally, if we don't have texgen but 4 tex coords submitted, we swap
column 3 and 4 (for the 2d / 1d / texrect targets) since the the q coord
column 3 and 4 (for the 2d / 1d / texrect targets) since the q coord
will get submitted in the "wrong", i.e. 3rd, slot.
If an app submits 3 coords for 2d targets, we assume it is saving on vertex
size and using the texture matrix to swap the r and q coords around (ut2k3

+ 1
- 1
src/mesa/drivers/x11/xmesa.h View File

@@ -287,7 +287,7 @@ extern void XMesaCopySubBuffer( XMesaBuffer b,


/*
* Return a pointer to the the Pixmap or XImage being used as the back
* Return a pointer to the Pixmap or XImage being used as the back
* color buffer of an XMesaBuffer. This function is a way to get "under
* the hood" of X/Mesa so one can manipulate the back buffer directly.
* Input: b - the XMesaBuffer

+ 1
- 1
src/mesa/drivers/x11/xmesaP.h View File

@@ -431,7 +431,7 @@ extern const int xmesa_kernel8[DITH_DY * DITH_DX];
* If pixelformat==PF_HPCR:
*
* HP Color Recovery dithering (ad@lms.be 30/08/95)
* HP has on it's 8-bit 700-series computers, a feature called
* HP has on its 8-bit 700-series computers, a feature called
* 'Color Recovery'. This allows near 24-bit output (so they say).
* It is enabled by selecting the 8-bit TrueColor visual AND
* corresponding colormap (see tkInitWindow) AND doing some special

+ 1
- 1
src/mesa/main/dd.h View File

@@ -1072,7 +1072,7 @@ struct dd_function_table {
* These are the initial values to be installed into dispatch by
* mesa. If the T&L driver wants to modify the dispatch table
* while installed, it must do so itself. It would be possible for
* the vertexformat to install it's own initial values for these
* the vertexformat to install its own initial values for these
* functions, but this way there is an obvious list of what is
* expected of the driver.
*

+ 1
- 1
src/mesa/main/texcompress_fxt1.c View File

@@ -476,7 +476,7 @@ fxt1_lloyd (GLfloat vec[][MAX_COMP], GLint nv,
* for each sample color
* sort to nearest vector.
*
* replace each vector with the centroid of it's matching colors.
* replace each vector with the centroid of its matching colors.
*
* repeat until RMS doesn't improve.
*

+ 1
- 1
src/mesa/math/m_debug_util.h View File

@@ -61,7 +61,7 @@ extern long counter_overhead;
*/
extern char *mesa_profile;

/* Modify the the number of tests if you like.
/* Modify the number of tests if you like.
* We take the minimum of all results, because every error should be
* positive (time used by other processes, task switches etc).
* It is assumed that all calculations are done in the cache.

+ 1
- 1
src/mesa/math/m_matrix.c View File

@@ -889,7 +889,7 @@ _math_matrix_rotate( GLmatrix *mat,
* Y-axis to bring the axis vector parallel with the X-axis. The
* rotation about the X-axis is then performed. Ry and Rz are
* simply the respective inverse transforms to bring the arbitrary
* axis back to it's original orientation. The first transforms
* axis back to its original orientation. The first transforms
* Rz' and Ry' are considered inverses, since the data from the
* arbitrary axis gives you info on how to get to it, not how
* to get away from it, and an inverse must be applied.

+ 12
- 26
src/mesa/shader/lex.yy.c View File

@@ -53,6 +53,7 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
#endif /* ! C99 */

/* Limits of integral types. */
#ifndef INT8_MIN
@@ -83,8 +84,6 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif

#endif /* ! C99 */

#endif /* ! FLEXINT_H */

#ifdef __cplusplus
@@ -158,15 +157,7 @@ typedef void* yyscan_t;

/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k.
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
* Ditto for the __ia64__ case accordingly.
*/
#define YY_BUF_SIZE 32768
#else
#define YY_BUF_SIZE 16384
#endif /* __ia64__ */
#endif

/* The state buf must be large enough to hold one state per character in the main buffer.
@@ -1161,7 +1152,7 @@ handle_ident(struct asm_parser_state *state, const char *text, YYSTYPE *lval)
} while(0);

#define YY_EXTRA_TYPE struct asm_parser_state *
#line 1165 "lex.yy.c"
#line 1156 "lex.yy.c"

#define INITIAL 0

@@ -1298,12 +1289,7 @@ static int input (yyscan_t yyscanner );

/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */
#define YY_READ_BUF_SIZE 16384
#else
#define YY_READ_BUF_SIZE 8192
#endif /* __ia64__ */
#endif

/* Copy whatever the last rule matched to the standard output. */
@@ -1311,7 +1297,7 @@ static int input (yyscan_t yyscanner );
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
#define ECHO fwrite( yytext, yyleng, 1, yyout )
#endif

/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -1322,7 +1308,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
size_t n; \
unsigned n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -1410,7 +1396,7 @@ YY_DECL
#line 157 "program_lexer.l"


#line 1414 "lex.yy.c"
#line 1400 "lex.yy.c"

yylval = yylval_param;

@@ -2212,7 +2198,7 @@ case 142:
YY_RULE_SETUP
#line 326 "program_lexer.l"
{
yylval->real = _mesa_strtod(yytext, NULL);
yylval->real = (float) _mesa_strtod(yytext, NULL);
return REAL;
}
YY_BREAK
@@ -2224,7 +2210,7 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 330 "program_lexer.l"
{
yylval->real = _mesa_strtod(yytext, NULL);
yylval->real = (float) _mesa_strtod(yytext, NULL);
return REAL;
}
YY_BREAK
@@ -2232,7 +2218,7 @@ case 144:
YY_RULE_SETUP
#line 334 "program_lexer.l"
{
yylval->real = _mesa_strtod(yytext, NULL);
yylval->real = (float) _mesa_strtod(yytext, NULL);
return REAL;
}
YY_BREAK
@@ -2240,7 +2226,7 @@ case 145:
YY_RULE_SETUP
#line 338 "program_lexer.l"
{
yylval->real = _mesa_strtod(yytext, NULL);
yylval->real = (float) _mesa_strtod(yytext, NULL);
return REAL;
}
YY_BREAK
@@ -2474,7 +2460,7 @@ YY_RULE_SETUP
#line 481 "program_lexer.l"
ECHO;
YY_BREAK
#line 2478 "lex.yy.c"
#line 2464 "lex.yy.c"
case YY_STATE_EOF(INITIAL):
yyterminate();

@@ -3242,8 +3228,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)

/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
* scan from a @e copy of @a bytes.
* @param yybytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
* @param bytes the byte buffer to scan
* @param len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
*/

+ 2
- 2
src/mesa/shader/prog_instruction.h View File

@@ -97,8 +97,8 @@
#define COND_EQ 2 /**< equal to zero */
#define COND_LT 3 /**< less than zero */
#define COND_UN 4 /**< unordered (NaN) */
#define COND_GE 5 /**< greater then or equal to zero */
#define COND_LE 6 /**< less then or equal to zero */
#define COND_GE 5 /**< greater than or equal to zero */
#define COND_LE 6 /**< less than or equal to zero */
#define COND_NE 7 /**< not equal to zero */
#define COND_TR 8 /**< always true */
#define COND_FL 9 /**< always false */

+ 4
- 4
src/mesa/shader/program_lexer.l View File

@@ -324,19 +324,19 @@ ARRAYSHADOW2D { return_token_or_IDENTIFIER(require_ARB_fp && require
return INTEGER;
}
{num}?{frac}{exp}? {
yylval->real = _mesa_strtod(yytext, NULL);
yylval->real = (float) _mesa_strtod(yytext, NULL);
return REAL;
}
{num}"."/[^.] {
yylval->real = _mesa_strtod(yytext, NULL);
yylval->real = (float) _mesa_strtod(yytext, NULL);
return REAL;
}
{num}{exp} {
yylval->real = _mesa_strtod(yytext, NULL);
yylval->real = (float) _mesa_strtod(yytext, NULL);
return REAL;
}
{num}"."{exp} {
yylval->real = _mesa_strtod(yytext, NULL);
yylval->real = (float) _mesa_strtod(yytext, NULL);
return REAL;
}


+ 1
- 1
src/mesa/shader/program_parser.h View File

@@ -62,7 +62,7 @@ struct asm_symbol {
*/
unsigned param_binding_swizzle;

/* This is how many entries in the the program_parameter_list we take up
/* This is how many entries in the program_parameter_list we take up
* with our state tokens or constants. Note that this is _not_ the same as
* the number of param registers we eventually use.
*/

+ 1
- 1
src/mesa/shader/slang/library/slang_common_builtin.gc View File

@@ -695,7 +695,7 @@ vec3 normalize(const vec3 v)
{
// const float s = inversesqrt(dot(v, v));
// __retVal = v * s;
// XXX note, we _could_ use __retVal.w instead of tmp and and save a
// XXX note, we _could_ use __retVal.w instead of tmp and save a
// register, but that's actually a compilation error because v is a vec3
// and the .w suffix is illegal. Oh well.
float tmp;

+ 12
- 38
src/mesa/state_tracker/st_framebuffer.c View File

@@ -167,9 +167,7 @@ st_set_framebuffer_surface(struct st_framebuffer *stfb,
uint surfIndex, struct pipe_surface *surf)
{
GET_CURRENT_CONTEXT(ctx);
static const GLuint invalid_size = 9999999;
struct st_renderbuffer *strb;
GLuint width, height, i;

/* sanity checks */
assert(ST_SURFACE_FRONT_LEFT == BUFFER_FRONT_LEFT);
@@ -183,18 +181,17 @@ st_set_framebuffer_surface(struct st_framebuffer *stfb,
strb = st_renderbuffer(stfb->Base.Attachment[surfIndex].Renderbuffer);

if (!strb) {
if (surfIndex == ST_SURFACE_FRONT_LEFT) {
/* Delayed creation when the window system supplies a fake front buffer */
struct st_renderbuffer *strb_back
= st_renderbuffer(stfb->Base.Attachment[ST_SURFACE_BACK_LEFT].Renderbuffer);
struct gl_renderbuffer *rb
= st_new_renderbuffer_fb(surf->format, strb_back->Base.NumSamples, FALSE);
_mesa_add_renderbuffer(&stfb->Base, BUFFER_FRONT_LEFT, rb);
strb = st_renderbuffer(rb);
} else {
/* fail */
/* create new renderbuffer for this surface now */
const GLuint numSamples = stfb->Base.Visual.samples;
struct gl_renderbuffer *rb =
st_new_renderbuffer_fb(surf->format, numSamples, FALSE);
if (!rb) {
/* out of memory */
_mesa_warning(ctx, "Out of memory allocating renderbuffer");
return;
}
_mesa_add_renderbuffer(&stfb->Base, surfIndex, rb);
strb = st_renderbuffer(rb);
}

/* replace the renderbuffer's surface/texture pointers */
@@ -206,39 +203,16 @@ st_set_framebuffer_surface(struct st_framebuffer *stfb,
* But when we do, we need to start setting this dirty bit
* to ensure the renderbuffer attachements are up-to-date
* via update_framebuffer.
* Core Mesa's state validation will update the parent framebuffer's
* size info, etc.
*/
ctx->st->dirty.st |= ST_NEW_FRAMEBUFFER;
ctx->NewState |= _NEW_BUFFERS;
}

/* update renderbuffer's width/height */
strb->Base.Width = surf->width;
strb->Base.Height = surf->height;

/* Try to update the framebuffer's width/height from the renderbuffer
* sizes. Before we start drawing, all the rbs _should_ be the same size.
*/
width = height = invalid_size;
for (i = 0; i < BUFFER_COUNT; i++) {
if (stfb->Base.Attachment[i].Renderbuffer) {
if (width == invalid_size) {
width = stfb->Base.Attachment[i].Renderbuffer->Width;
height = stfb->Base.Attachment[i].Renderbuffer->Height;
}
else if (width != stfb->Base.Attachment[i].Renderbuffer->Width ||
height != stfb->Base.Attachment[i].Renderbuffer->Height) {
/* inconsistant renderbuffer sizes, bail out */
return;
}
}
}

if (width != invalid_size) {
/* OK, the renderbuffers are of a consistant size, so update the
* parent framebuffer's size.
*/
stfb->Base.Width = width;
stfb->Base.Height = height;
}
}



+ 1
- 1
src/mesa/swrast/s_depth.c View File

@@ -526,7 +526,7 @@ _swrast_depth_clamp_span( GLcontext *ctx, SWspan *span )

/* Convert floating point values in [0,1] to device Z coordinates in
* [0, DepthMax].
* ex: If the the Z buffer has 24 bits, DepthMax = 0xffffff.
* ex: If the Z buffer has 24 bits, DepthMax = 0xffffff.
*
* XXX this all falls apart if we have 31 or more bits of Z because
* the triangle rasterization code produces unsigned Z values. Negative

+ 1
- 1
src/mesa/vbo/vbo_save_loopback.c View File

@@ -78,7 +78,7 @@ struct loopback_attr {
};

/* Don't emit ends and begins on wrapped primitives. Don't replay
* wrapped vertices. If we get here, it's probably because the the
* wrapped vertices. If we get here, it's probably because the
* precalculated wrapping is wrong.
*/
static void loopback_prim( GLcontext *ctx,

Loading…
Cancel
Save