Age | Commit message (Collapse) | Author |
|
There was a note in state.c about _Active deserving to die, and there were
potential issues with it due to i965 forgetting to set _UseTexEnvProgram.
Removing both simplifies things.
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
On Windows snprintf is renamed as _snprintf.
|
|
|
|
(cherry picked from commit 8124faf89d638285d8e9aa93adc3ca7f4ee729f3)
Conflicts:
src/mesa/main/get.c
|
|
Silences MSVC.
|
|
|
|
Conflicts:
src/mesa/drivers/dri/common/dri_util.c
|
|
|
|
#19390)
|
|
|
|
Conflicts:
src/mesa/main/ffvertex_prog.c
src/mesa/main/texenvprogram.c
|
|
|
|
The max texture coord units is still 8. All the fixed-function paths are
still limited to 8 too. But GLSL shaders can use more samplers now.
Note that some texcoord-related data structures are declared to be 16
elements in size rather than 8. This just simplifies the code in a few
places; the extra elements aren't accessible to the user.
These changes haven't been extensively tested yet, but sanity checking has
been done.
It should be possible to increase the max image units/samplers to 32 without
doing anything special. Beyond that we'll need longer bitfields in a few
places.
|
|
Conflicts:
src/mesa/main/config.h
|
|
|
|
As advised by gcc -pedantic.
|
|
|
|
Previously 3D textures were mipmapped using multiple passed through
the 2D mipmap generation code. This had 3 disadvantages. First, the
extra passes were slow. Second, this required the allocation of a
temporary buffer to hold intermediate data. Third, and most
important, the extra passes caused loss of additional bits due to
integer division / bit-shifting.
With this change, our mipmapgen conformance test passes for
non-compressed texture formats.
|
|
|
|
|
|
Note how if:
x + width == xmax + 0: width -= 0
x + width == xmax + 1: width -= 0
x + width == xmax + 2: width -= 1
So, the function was clipping to [xmin, xmax+1), not [xmin, xmax) like it was
supposed to. Same for ymax.
|
|
The subsequent if/else cases always call _mesa_reference_fragprog() anyway.
|
|
|
|
get_fp_input_mask()
This is a work-around the for the fact that we do fragment shader state
validation before vertex shader validation (see comments in state.c) so in
get_fp_input_mask() we can't rely on ctx->VertexProgram._Current being up to
date yet.
This fixes a glean glsl1 test failure.
|
|
The subsequent if/else cases always call _mesa_reference_fragprog() anyway.
|
|
|
|
The problem we're solving only occured when there was a user-defined
vertex shader but no fragment shader. Check for that case now.
Fixes glean api2 vertex array failure.
|
|
|
|
This reverts commit 8dc88cb64305c591dfadded2b5acbb1e6b04cd7f.
This change broke other things...
|
|
We were accidentally using the fixed-function logic when a vertex shader was
being used.
|
|
|
|
|
|
|
|
It is possible for applications to specify any texture base level,
including trivially invalid values (i.e., 47000000). When an app
specifies an invalide base level, we should gracefully disable the
texture instead of accessing memory outside the gl_texture_object.
This fixes an occasional segfault in one of our conformance tests.
|
|
add some more srgb texture formats, including compressed ones
various fixes relating to srgb formats
issues: _mesa_get_teximage is completely broken for srgb textures,
both for non-compressed ones (swizzling) and compressed ones
(shouldn't do standard-to-linear conversion)
texelFetch function may be broken for little or big endian
(or both...)
|
|
|
|
Conflicts:
progs/glsl/Makefile
|
|
The ctx->Driver.GenerateMipmap() hook only expects cubemap face enums, not
CUBE_MAP_ARB, so walk all faces when we encounter that. Fixes oglconform
fbo.c segfault with both swrast and i965 drivers.
|
|
|
|
|
|
|
|
Conflicts:
progs/glsl/Makefile
|
|
These arrays will indicate per-input or per-output options for vertex/fragment
programs such as centroid-sampling and invariance.
|
|
|
|
texture comparison logic is bypassed if the currently bound texture is not
a depth/depth_stencil texture.
|
|
This fixes glReadPixels(GL_LUMINANCE, GL_FLOAT)/glGetTexImage(GL_LUMINANCE, GL_FLOAT) issue
on fixed-point color buffers.
|
|
|
|
|
|
Conflicts:
src/mesa/shader/prog_execute.c
src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
|
|
Dots is re-used if more than one light is enabled. Previously
the negate flag of dots may affect next light.
|