Age | Commit message (Collapse) | Author |
|
This reverts commit c32bac57ed445e48856d74113364287ed6e5cdd4
and silences the warning differently.
The _mesa_reference_texobj() function is called quite a bit and
we don't want to call valid_texture_object() all the time in non-
debug builds.
|
|
|
|
|
|
|
|
Otherwise, FEATURE_EXT_texture_sRGB was undefined.
This is (part of?) the fix for fd.o bug 30177.
|
|
Enable some extensions now that the needed tokens are defined in
GLES/glext.h and GLES2/glext.h. Update the prototype of MultiDrawArrays
now that the prototype of _mesa_MultiDrawArraysEXT has been updated.
|
|
A number of other files had to be updated as well because const
qualifiers were added to the glMultiDrawArrays() function.
Also, GL_FIXED is now defined in glext.h.
|
|
|
|
Add dummy static inline definitions to syncobj.h when FEATURE_ARB_sync
is 0, and remove most FEATURE_ARB_sync tests.
|
|
They were intended to be used to build OpenGL ES only DRI drivers, but
that never happened.
|
|
|
|
Add struct st_context_attribs to describe context profiles and
attributes. Modify st_api::create_context to take the new struct
instead of an st_visual.
st_context_attribs can be used to support GLX_ARB_create_context_profile
and GLX_EXT_create_context_es2_profile in the future. But the
motivation for doing it now is to be able to replace ST_API_OPENGL_ES1
and ST_API_OPENGL_ES2 by profiles.
Having 3 st_api's to provide OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is
not a sane abstraction, since all of them share glapi for current
context/dispatch management.
|
|
This reverts commit b9abc6139a310677a37754ea7172d976dbf56979 and the
follow on fixes (7aae704 and 6fe1b47). It's changing the glapi/driver
ABI and causes a number of problems for debug/non-debug builds.
|
|
|
|
|
|
Binding framebuffer 0 on a context that doesn't have a winsys drawable
will try to bind the incomplete framebuffer. That fails when that's
also the dummy framebuffer.
|
|
There's a useful feature buried in glapi to log all API calls to stderr.
Unfortunately it requires editing the code and then it's enabled
unconditionally for that build. This patch builds in API logging for
debug builds and makes it run-time switchable by setting MESA_DEBUG=dispatch.
|
|
This increases the chance that GLSL programs will actually work.
Note that continues and returns are not yet lowered, so linking
will just fail if not supported.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
This allows us to specify different options, especially useful for chips
without unified shaders.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
Changes in v2:
- No longer adds tessellation enums
|
|
The enum values were chosen to have sequential values for a reason.
Use that to compact and simplify the code.
|
|
GL_EXT_texture_env_combine has slightly more restrictive limits on the
valid sources for some operands. This wasn't caught before because
almost every driver in Mesa that supports the EXT version also
supports the ARB version.
Inspired by a patch posted the the mesa-dev mailing list by Andrew
Randrianasulu.
|
|
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Fixes assertion failures in fbo-alpha with a debug build of Mesa.
Bug #29781.
|
|
|
|
The new GLSL compiler doesn't support it.
Advertising it prevents Unigine Heaven from working, since it attempts to
use it.
|
|
|
|
|
|
|
|
Most of these are just typecasting to long to match the arg type. I
don't really care too much about getting a GLsizei or whatever
appropriate type in. However, there were a number of real bugs, like
missing arguments or passing floats to integer format specifiers. My
favorite: printflike("%s, argument") is missing an argument.
|
|
|
|
Out of bounds reads could happen for reducing WxH to WxH/2
or WxH to W/2xH.
Fixes fd.o bug 29918.
|
|
See fd.o bug 29909.
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
Previously, if an attribute was enabled by either a specific GL version
or an extension, the check would require -both- to be enabled. This bug
was not discovered earlier because version checks are currently only ever
used on their own.
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
|
|
Due to a misunderstanding of the Z24_X8 and X8_Z24 formats, the earlier
patch created depth/stencil wrappers for them. This broke swrast.
Use the format info instead, which only identifies Z24_S8 and S8_Z24 as
packed depth/stencil. It also has the advantage of being nicer code.
Signed-off-by: Nick Bowler <nbowler@draconx.ca>
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
This releases a bunch of memory that was showing up as leaks with
valgrind.
If atexit() isn't widely supported we may need to add some #ifdef
tests around the call.
|
|
|
|
|
|
|
|
|
|
|
|
Intel sometimes uses packed depth/stencil buffers even when only a depth
buffer or only a stencil buffer was requested. Common code currently
uses the _BaseFormat field to determine whether a depth/stencil wrapper
is necessary. But unless the user explicitly requested a packed
depth/stencil buffer, the _BaseFormat field does not encode this
information, and the required wrappers are not created.
The problem was introduced by commit 45e76d2665b38b ("mesa: remove a
bunch of gl_renderbuffer fields"), which killed off the _ActualFormat
field upon which the decision to create a wrapper used to be made. This
patch changes the logic to use the Format field instead, which is more
like the old code.
Fixes fdo bug 27590.
Signed-off-by: Nick Bowler <nbowler@draconx.ca>
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
|
|
This reverts commit 001a7bfdfc8b3c8930d5ced21982dbdfb8cd35b3. I
hadn't found the section of the spec clarifying that the old behavior
was right. Reverting fixes the new version of the testcase, and the
Humus demos that could no longer find their uniforms.
Bug #29782
Bug #29783
|
|
Signed-off-by: Brian Paul <brianp@vmware.com>
|
|
Previously, uniform initializers were handled by ir_to_mesa as it made
its Parameters list. However, uniform values are global to all
shaders, and the value set in one Parameters list wasn't propagated to
the other gl_program->Parameters lists. By going back through the
general Mesa uniform handling, we make sure that all gl_programs get
updated values, and also successfully separate uniform initializer
handling from ir_to_mesa gl_program generation.
Fixes:
glsl-uniform-initializer-5.
|
|
|
|
|
|
core.h is the public header of core mesa. GLX, WGL, and GLSL are
supposed to include this header file. It should be noted that headers
included by core.h must not perform feature tests (#if FEATURE_xxx).
Otherwise, we cannot, for example, mix a FEATURE_ES2 libmesagallium.a
with a FEATURE_GL libglsl.a.
|