URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=72384ac2e71582cb86ad5d9fe0b35ffc0935a287
Author: Jordan Justen <[email protected]>
Date: Thu Dec 27 13:34:44 2012 -0800
fbobject: add additional fbo completeness checks for GLES
Signed-off-by: Jordan Justen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=56696fd089fdabe90e83b6bb6636753dd089b717
Author: Jordan Justen <[email protected]>
Date: Sat Jan 12 01:11:21 2013 -0800
framebuffer: update allowed implementation format/type
Allow additional format/type combinations based on the
color render buffer to fix failures with gles3-gtf.
Signed-off-by: Jordan Justen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=119a31ee2faa5c5d1f65175d16762c60ff4bc076
Author: Jordan Justen <[email protected]>
Date: Sat Jan 12 01:05:44 2013 -0800
readpix: allow implementation format/type
For GLES2/3 allow reading of pixels with format/type based on:
* GL_IMPLEMENTATION_COLOR_READ_FORMAT
* GL_IMPLEMENTATION_COLOR_READ_TYPE
Signed-off-by: Jordan Justen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=38bc2532cd147b118871519f5d5a5fad4b6dc269
Author: Jordan Justen <[email protected]>
Date: Thu Jan 10 17:29:27 2013 -0800
extensions: enable EXT_color_buffer_float for ES2/ES3
Signed-off-by: Jordan Justen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d2e8ef5afcd0891c9d7f17ddb0d0559923f109c9
Author: Jordan Justen <[email protected]>
Date: Fri Dec 28 11:27:04 2012 -0800
readpix: check FBO completeness before trying to access the read-buffer
Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb6e91c328caacf0719acdedf8f32984c3d68e4e
Author: Jordan Justen <[email protected]>
Date: Fri Dec 28 11:24:37 2012 -0800
readpix: add error checking for GLES3
Signed-off-by: Jordan Justen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=af96e71d11c3b8f59638e9e3c80c552966902c9b
Author: Jordan Justen <[email protected]>
Date: Fri Dec 28 11:07:01 2012 -0800
copyteximage: update error checking for GLES3
Changes based on GTF/gles3 conformance test suite.
Signed-off-by: Jordan Justen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd509c58880470059a9fd7097244e73240143288
Author: Jordan Justen <[email protected]>
Date: Fri Dec 28 11:00:50 2012 -0800
copyteximage: make sure is_srgb(src) == is_srgb(dst)
v2:
* Remove _EXT on enums
* Remove compressed forms of sRGB from is_srgb_format
* Add comment referencing GL Core spec
Signed-off-by: Jordan Justen <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca769c17c996aa0d6076179d7cde8d3bd0259cbd
Author: Anuj Phogat <[email protected]>
Date: Mon Jan 7 10:30:11 2013 +0530
mesa: Round float param in glTexparameterf() to nearest integer
OpenGL 4.2 specification suggests rounding the float data to nearest
integer when the type of internal state is integer. Out of range floats
should be clamped to {INT_MIN, INT_MAX}. This is not specified anywhere
in gl/gles spec but below test expects this behavior.
This patch makes gles3 conformance sgis_texture_lod_basic_getter.test pass.
A GL spec bug will be raised to include clamping of out of range floats.
V2: Round float to nearest integer for all cases where _mesa_Texparameterf()
converts float param to int. Use the same block of float to int conversion
code for GL_TEXTURE_SWIZZLE_{R,G,B,A}_EXT cases as well.
Signed-off-by: Anuj Phogat <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c50f101d12c2de09ee5bffeb91b5b615a9e840e
Author: Anuj Phogat <[email protected]>
Date: Tue Dec 11 20:17:47 2012 -0800
mesa: Add support to allow blitting to multiple color draw buffers
This patch fixes a blitting case when drawAttachment->Texture ==
readAttachment->Texture. It was causing an assertion failure in
intel_miptree_attach_map() with gles3 conformance test case:
framebuffer_blit_functionality_minifying_blit
Number of changes in this file look scary. But most of them are caused by
introducing a big for loop to support rendering to multiple color draw
buffers.
V2: Fixed a case when number of draw buffer attachments are zero.
V3: Put a for loop in blit_nearest() and blit_linear() functions in to
support
blitting to multiple color draw buffers.
V4: Remove variable declaration in for loop to avoid MSVC compilation
issues.
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=42f9b803edd14af13580d2585d34636db0343bba
Author: Anuj Phogat <[email protected]>
Date: Tue Dec 11 20:17:47 2012 -0800
mesa: Add error checking in _mesa_BlitFramebuffer() for MRTs
This patch adds required error checking in _mesa_BlitFramebuffer() when
blitting to multiple color render targets. It also fixes a case when
blitting to a framebuffer with renderbuffer/texture attached to
GL_COLOR_ATTACHMENT{i} (where i!=0). Earlier it skips color blitting if
nothing is found attached to GL_COLOR_ATTACHMENT0.
V2: Fixed a case when number of draw buffer attachments are zero.
V3: Do compatible_color_datatypes() and compatible_resolve_formats()
check for all the draw renderbuffers in fbobject.c. Fix debug
code at bottom of _mesa_BlitFramebuffer() to handle MRTs. Combine
error checking code for linear blits with other color blit error
checking.
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8436b97714aedcb8e739c375e9862d07b71602b
Author: Anuj Phogat <[email protected]>
Date: Tue Dec 11 20:08:13 2012 -0800
mesa: Fix GL error generation in _mesa_GetFramebufferAttachmentParameteriv()
This allows query on default framebuffer in
glGetFramebufferAttachmentParameteriv()
for gles3. Fixes unexpected GL errors in gles3 conformance test case:
framebuffer_blit_functionality_multisampled_to_singlesampled_blit
V2: Use _mesa_is_gles3() check to restrict allowed attachment types to
specific APIs.
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9cb3a903164793c9f91604e73afa38abff2c98b6
Author: Anuj Phogat <[email protected]>
Date: Tue Dec 11 19:36:05 2012 -0800
intel: Support blitting to multiple color draw buffers
This patch enables blitting to multiple color attachments of a framebuffer.
It also fixes a case when blitting to a framebuffer with
renderbuffer/texture
attached to non-zero attachment point i.e. GL_COLOR_ATTACHMENT{1, 2, ...}.
Earlier we were incorrectly blitting to GL_COLOR_ATTACHMENT0 by default.
V2: Use intel_copy_texsubimage() for blitting only if all the color
attachments
can blit using it.
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ae4e838a68cf43c1bc3246e1a802b91733d313db
Author: Anuj Phogat <[email protected]>
Date: Wed Nov 28 12:55:55 2012 -0800
meta: Add functionality to do _mesa_meta_BlitFrameBuffer() using glsl
This patch rewrites _mesa_meta_BlitFrameBuffer() function to add support
for blitting with GLSL/GLSL ES shaders. These changes were required to
support glBlitFrameBuffer() in gles3. This patch, along with other patches
in this series, make 16 failing framebuffer_blit test cases in gles3
conformance pass.
V2: Properly handle flipped blits for source and destination
renderbuffer / textures. Add support for GL_TEXTURE_RECTANGLE
in _mesa_meta_BlitFrameBuffer. Create a temp depth texture to
support depth buffer blitting.
V3: Remove unsupported / redundant shader code. Add an assertion to
make sure that we don't use rectangle texture in ES. Put API
guard on glTexEnvi().
V4: For gles3: Don't use ReadPixels or CopyTexImage2D to blit depth buffer.
gles3 spec says for CopyTexImage2D that "color buffer components can be
dropped during the conversion to internalformat, but new components
cannot be added." So, use the internal format of read renderbuffer to
create texture for color buffer blitting.
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=54315e1cf960d3dd0c9d4c15d7fd3719932df5e5
Author: Anuj Phogat <[email protected]>
Date: Mon Jan 7 15:55:31 2013 -0800
mesa: Fix GL error generation in glBlitFramebuffer()
V2:
If mask has GL_STENCIL_BUFFER_BIT set, the depth formats for
readRenderBuffer
and drawRenderBuffer must match unless one of the two buffers doesn't have
depth, in which case it's not blitted, so the format check should be
ignored.
Same comment goes for stencil formats in depth renderbuffers if mask has
GL_DEPTH_BUFFER_BIT set.
v3 (Kayden): Refactor code to be a bit more readable.
Signed-off-by: Anuj Phogat <[email protected]>
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1f71a2bbe85c8f7dbd6d3bcfb98fe18790c9ff7
Author: Kenneth Graunke <[email protected]>
Date: Tue Dec 18 13:26:04 2012 -0800
mesa: Make ES3 glDrawBuffers() only accept BACK/NONE for the winsys fbo.
Nothing was explicitly checking this.
Reviewed-by: Anuj Phogat <[email protected]>
Signed-off-by: Anuj Phogat <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=861c037bf63c73fd97a1c9a31a598275f48d9d0d
Author: Kenneth Graunke <[email protected]>
Date: Tue Dec 18 13:26:03 2012 -0800
mesa: Handle GL_BACK correctly for ES 3.0 in glDrawBuffers().
In ES 3.0, when calling glDrawBuffers() on the window system
framebuffer, the only valid targets are GL_NONE or GL_BACK. Since there
is no stereo rendering in ES 3.0, this is a single buffer, unlike
desktop where it may be two (and thus isn't allowed).
For single-buffered configs, GL_BACK ironically means the front (and
only) buffer. I'm not sure that it matters, however, as ES shouldn't
have front buffer rendering in the first place.
Fixes es3conform framebuffer_blit_coverage_default_draw_buffer_binding.
Reviewed-by: Anuj Phogat <[email protected]>
Signed-off-by: Anuj Phogat <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd58ccf39c39927bb78325a473dc826034fc3393
Author: Kenneth Graunke <[email protected]>
Date: Tue Jan 8 11:23:10 2013 -0800
mesa: Use GL_RED for DEPTH_TEXTURE_MODE for everything but legacy GL.
According to page 163 of the ES 3.0 spec:
"Texture lookups involving textures with depth component data generate
a texture base color C_b either using depth data directly or by
performing a comparison with the D_ref value used to perform the
lookup, as described in section 3.8.15. The resulting value R_t is
then expanded to a color C_b = (R_t,0,0,1), ..."
In other words, depth textures are supposed to be treated as GL_RED.
A discussion about this text can be found in Khronos bugzilla:
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=7962
It's unclear what the behavior of desktop GL should be. The GL 3.x
specifications indicate that it should be (r, r, r, 1), which is
GL_LUMINANCE (the old default). However, page 112 of the 4.2 core
specification contains the text quoted above, explicitly declaring it
to be (R_t, 0, 0, 1), which is GL_RED.
So it hinges on whether the 4.2 text is a change or a clarification.
Personally I think that using GL_RED in core contexts and GL_INTENSITY
in legacy contexts seems reasonable.
Fixes 4 es3conform tests:
- depth_texture_fbo
- depth_texture_fbo_clear
- depth_texture_teximage
- depth_texture_texsubimage
Cc: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=091ef8c688f279527633dbd9cb02079c96c9e3ea
Author: Chad Versace <[email protected]>
Date: Tue Nov 20 13:43:11 2012 -0800
egl/dri2: Add plumbing for EGL_OPENGL_ES3_BIT_KHR
Fixes error EGL_BAD_ATTRIBUTE in the tests below on Intel Sandybridge:
* piglit egl-create-context-verify-gl-flavor, testcase OpenGL ES 3.0
* gles3conform, revision 19700, when runnning GL3Tests with -fbo
This plumbing is added in order to comply with the EGL_KHR_create_context
spec. According to the EGL_KHR_create_context spec, it is illegal to call
eglCreateContext(EGL_CONTEXT_MAJOR_VERSION_KHR=3) with a config whose
EGL_RENDERABLE_TYPE does not contain the EGL_OPENGL_ES3_BIT_KHR. The
pertinent
portion of the spec is quoted below; the key word is "respectively".
* If <config> is not a valid EGLConfig, or does not support the
requested client API, then an EGL_BAD_CONFIG error is generated
(this includes requesting creation of an OpenGL ES 1.x, 2.0, or
3.0 context when the EGL_RENDERABLE_TYPE attribute of <config>
does not contain EGL_OPENGL_ES_BIT, EGL_OPENGL_ES2_BIT, or
EGL_OPENGL_ES3_BIT_KHR respectively).
To create this patch, I searched for all the ES2 bit plumbing by calling
`git grep "ES2_BIT\|DRI_API_GLES2" src/egl`, and then at each location
added a case for ES3.
Signed-off-by: Chad Versace <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6ee021a558ba543af8ad9794b3f01dd965d5146
Author: Chad Versace <[email protected]>
Date: Wed Nov 21 16:55:43 2012 -0800
intel: Expose support for DRI_API_GLES3
If the hardware/driver combo supports GLES3, then set the GLES3 bit in
intel_screen's bitmask of supported DRI API's. Neither the EGL nor GLX
layer uses the bit yet.
Signed-off-by: Chad Versace <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b22d5945e03363bb9ed72a4a95b3bd5fb2d8a8b
Author: Chad Versace <[email protected]>
Date: Tue Nov 20 13:27:14 2012 -0800
dri: Define enum __DRI_API_GLES3
This enum corresponds to EGL_OPENGL_ES3_BIT_KHR.
Neither the GLX nor EGL layer use the enum yet.
I don't like the GLES bits. I'd prefer that all GLES APIs be exposed
through a single API bit, as is done in GLX_EXT_create_context_es_profile.
But, we need this GLES3 enum in order to do the plumbing necessary to
correctly support EGL_OPENGL_ES3_BIT_KHR as required by the
EGL_KHR_create_context spec.
Signed-off-by: Chad Versace <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a5abbf06dae22aed3f077366a56fd3150825831
Author: Chad Versace <[email protected]>
Date: Wed Nov 21 16:22:19 2012 -0800
intel: Move validation of context version into intelInitContext
Each driver (i830, i915, i965) used independent but similar code to
validate the requested context version. With the rececnt arrival of GLES3,
that logic has needed an update. Rather than apply identical updates to
each drivers validation code, let's just move the validation into the
shared routine intelInitContext.
This refactor required some incidental changes to functions
i830CreateContext and intelInitContext. For each function, this patch:
- Adds context version parameters to the signature.
- Adds a DRI_CTX_ERROR out param to the signature.
- Sets the DRI_CTX_ERROR at each early return.
Tested against gen6 with piglit egl-create-context-verify-gl-flavor.
Verified that this patch does not change the set of exposed EGL context
flavors.
Signed-off-by: Chad Versace <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc6a6946ea6721750c4b62d14f03212de991f3a6
Author: Chad Versace <[email protected]>
Date: Wed Nov 21 15:08:27 2012 -0800
intel: Set screen's api mask according to hw capabilities (v3)
Before this patch, intelInitScreen2 set DRIScreen::api_mask with the hacky
heuristic below:
if (gen >= 3)
api_mask = GL | GLES1 | GLES2;
else
api_mask = 0;
This hack was likely broken on gen2 (i830), but I don't care enough to
properly investigate. It appears that every EGLConfig on i830 has
EGL_RENDERABLE_TYPE=0, and thus eglCreateContext will never succeed.
Anyway, moving on to living drivers...
With the arrival of EGL_OPENGL_ES3_BIT_KHR, this heuristic is now
insufficient. We must enable the GLES3 bit if and only if the driver is
capable of creating a GLES3 context. This requires us to determine the
maximum supported context version supported by the hardware/driver for
each api *during initialization of intel_screen*.
Therefore, this patch adds four new fields to intel_screen which indicate
the maximum supported context version for each api:
max_gl_core_version
max_gl_compat_version
max_gl_es1_version
max_gl_es2_version
The api mask is now correctly set as:
api_mask = GL;
if (max_gl_es1_version > 0)
api_mask |= GLES1;
if (max_gl_es2_version > 0)
api_mask |= GLES2;
Tested against gen6 with piglit egl-create-context-verify-gl-flavor.
Verified that this patch does not change the set of exposed EGL context
flavors.
v2:
- Replace the if-tree on gen with a switch, for Ian.
- Unconditionally enable the DRI_API_OPENGL bit, for Ian.
v3:
- Drop max gl version to 1.4 on gen3 if !has_occlusion_query,
because occlusion queries entered core in 1.5. For Ian.
Signed-off-by: Chad Versace <[email protected]>
Reviewed-by: Ian Romanick <ian.d.romanick.intel.com>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4e2fd42c7b2cc01a0bcd40ff5e9da42e3913abf
Author: Chad Versace <[email protected]>
Date: Wed Nov 21 09:28:36 2012 -0800
i965: Bump maximum supported ES2 context version to 3.0
Since patch "i965: Validate requested GLES context version in
brwCreateContext", we have been able to create ES 3.0 contexts due to the
max version check. So...bump the max version.
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Signed-off-by: Chad Versace <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=960bc127732058d743495d2f3b4942e18f17e479
Author: Paul Berry <[email protected]>
Date: Tue Aug 7 12:39:30 2012 -0700
i965/Gen6+: Enable ARB_ES3_compatibility extension
IMPORTANT: this patch should not be pushed to master until ES3 support
is fully implemented on i965/Gen6+.
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=09de166639e0c26799193b16905eb474c3727bfb
Author: Ian Romanick <[email protected]>
Date: Wed Aug 8 15:25:00 2012 -0700
mesa/es3: Enable ES 3.0 API and shading language version
Signed-off-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d68fb04320521d017f86491126c197707c29bb6b
Author: Matt Turner <[email protected]>
Date: Fri Nov 30 15:07:54 2012 -0800
mesa: Return INVALID_ENUM for glReadPixels(..., GL_DEPTH_*, ...) on ES 3
I'm not sure if this is the correct fix. The
_mesa_es_error_check_format_and_type function (used above in the ES 1
and 2 cases) was originally added for glTexImage checking and allows
GL_DEPTH_STENCIL/GL_UNSIGNED_INT_24_8 combinations. Using it in ES 3
causes other tests to regress.
Fixes es3conform's packed_depth_stencil_error test.
Reviewed-by: Kenneth Graunke <[email protected]> (v1)
Reviewed-by: Anuj Phogat <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=987b34efe1f639d30cdf4934e3ddf56b7ff0092f
Author: Matt Turner <[email protected]>
Date: Fri Nov 30 15:07:18 2012 -0800
mesa: Return INVALID_OPERATION when type is known but not allowed
INVALID_ENUM is for when the type is simply not known.
Fixes part of es3conform's packed_depth_stencil_error test.
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b3727330b64a82a3d6207550f10be9d6b297fdc
Author: Matt Turner <[email protected]>
Date: Wed Nov 28 21:45:19 2012 -0800
mesa: Allow HALF_FLOAT in glVertexAttribPointer for GLES3
Fixes es3conform's half_float_max_vertex_dimensions and
half_float_textures tests.
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=28c8f0a1c03c25fb960ca47f1b31187754c2a529
Author: Matt Turner <[email protected]>
Date: Tue Nov 20 13:45:03 2012 -0800
mesa: Reject texture-only formats as renderbuffer formats in ES 3
ES 3 specifies some formats as texture-only (i.e., not available for
renderbuffers).
See the "Required Texture Formats" section (pg 126) of the ES 3 spec.
v2: Allow RED and RG float rendering in core profiles The check used to
be (version > 30) || (compat profile w/extensions). Just deleting
<version > 30) broke 3.0+ core profiles.
Fixes es3conform's color_buffer_unsupported_format test.
Signed-off-by: Matt Turner <[email protected]>
Signed-off-by: Ian Romanick <[email protected]>
Acked-by: Kenneth Graunke <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2150218783f05c8cd049bfadd11c13c00b256b22
Author: Kenneth Graunke <[email protected]>
Date: Sat Nov 17 21:23:28 2012 -0800
mesa: Fix default value of BUFFER_ACCESS_FLAGS.
According to both the GL 3.0 and ES 3.0 specifications (table 2.7 for GL
and table 2.8 for ES), the default value of BUFFER_ACCESS_FLAGS is
supposed to be zero.
Note that there are two related quantities: the obsolete BUFFER_ACCESS
enum and the new BUFFER_ACCESS_FLAGS bitfield.
BUFFER_ACCESS can only be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE;
BUFFER_ACCESS_FLAGS can easily represent all three via GL_MAP_WRITE_BIT,
GL_MAP_READ_BIT, and their logical or. It also supports more flags.
Thus, Mesa only stores the bitfield, and simply computes the old enum
when queried, via simplified_access_mode(bufObj->AccessFlags).
The tricky part is that, while BUFFER_ACCESS_FLAGS defaults to 0,
BUFFER_ACCESS defaults to GL_READ_WRITE for desktop [GL 3.0, table 2.8]
and GL_WRITE_ONLY_OES for ES [the GL_EXT_map_buffer_range extension].
Mesa tried to implement this by setting the default AccessFlags to
GL_MAP_READ_BIT | GL_MAP_WRITE_BIT on desktop, and GL_MAP_WRITE_BIT on
ES. But in all specifications, it needs to be 0.
This patch moves that logic into simplified_access_mode(): when
AccessFlags == 0, it now returns GL_READ_WRITE for desktop and
GL_WRITE_ONLY for ES 1/2. (BUFFER_ACCESS doesn't exist on ES 3.0,
so it's irrelevant there.)
With that in place, it changes the AccessFlags default to 0.
Fixes three es3conform tsets:
- copy_buffer_defaults
- map_buffer_range_modify_indices
- pixel_buffer_object_default_parameters
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a52404d4d5495962660150bf85d05377454b4d4
Author: Kenneth Graunke <[email protected]>
Date: Fri Nov 16 14:52:01 2012 -0800
mesa: Rework crazy error code rules in glDrawBuffers().
Perhaps most importantly, this patch adds comments quoting the relevant
spec paragraphs above each error condition.
It also makes three changes:
- For FBOs, GL_COLOR_ATTACHMENTm where m >= MaxDrawBuffers is supposed
to generate INVALID_OPERATION (not INVALID_ENUM).
- Constants that refer to multiple buffers (such as FRONT, BACK, LEFT,
RIGHT, and FRONT_AND_BACK) are supposed to generate INVALID_OPERATION,
not INVALID_ENUM.
- In ES 3.0, for FBOs, buffers[i] must be NONE or GL_COLOR_ATTACHMENTi
or else INVALID_OPERATION occurs. (This is a new restriction.)
Fixes es3conform's draw-buffers-api test.
v2: The error path was missing a "return" like all the other error
paths. Also, we may as well call it glDrawBuffers in the error message
since the ARB suffix doesn't exist in ES 3.
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7824ab807050c03c6df01c44774914dcbef88248
Author: Tom Stellard <[email protected]>
Date: Mon Jan 14 17:20:53 2013 +0000
Revert "targets/opencl: Link against libgallium.la instead of libgallium.a"
This reverts commit 4148a29ed83d1d85bff3d4e40e847128011c3f20.
This is a work-around for bug:
https://bugs.freedesktop.org/show_bug.cgi?id=59334
We really should be linking against libgallium.la instead of
libgallium.a, but until we can figure why linking against libgallium.la
causes runtime failures in clover we will continue to link against
libgallium.a
Acked-by: Andreas Boll <[email protected]>
Tested-by: Aaron Watry <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f26eb36e8bc17b0ff047f114538bd2485c6a52ea
Author: Marek Olšák <[email protected]>
Date: Mon Jan 14 17:17:20 2013 +0100
st/mesa: use a generic varying to pass the clear color to the FS
The color varying may have reduced precision or be even clamped.
Reviewed-by: Brian Paul <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=355d463f73976a5b091371690e5a914511b0b938
Author: Marek Olšák <[email protected]>
Date: Mon Jan 14 17:07:58 2013 +0100
gallium/util: fix glClear with MRT by making the FS write to all cbufs
Reviewed-by: Brian Paul <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2cd1407d2d376041a5334d79de1ac43a71dcc3cf
Author: Marek Olšák <[email protected]>
Date: Mon Jan 14 08:40:18 2013 +0100
st/mesa: fix InternalFormat for Z24X8 window-system buffers
This probably doesn't fix anything, but it's good to be consistent.
Reviewed-by: Brian Paul <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d489c90a68e125b81bb590a0262ebdba91f0b883
Author: Marek Olšák <[email protected]>
Date: Mon Jan 14 08:20:42 2013 +0100
st/mesa: remove dead conditional in Clear
I think the conditional always evaluates to false.
If I understand the code in core Mesa correctly, depthBits or stencilBits
is 0 if the depth or stencil renderbuffer is NULL, respectively.
Reviewed-by: Brian Paul <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f94ea25a4ac9f65cfec880ea3cb9d6c50eda93d1
Author: Marek Olšák <[email protected]>
Date: Mon Jan 14 08:16:18 2013 +0100
st/mesa: simplify conditionals in Clear
just check depth and stencil separately, the outcome is the same
Reviewed-by: Brian Paul <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=01b7124788f901838f491ed301138a3da55185f7
Author: Marek Olšák <[email protected]>
Date: Mon Jan 14 07:18:00 2013 +0100
st/mesa: fix glClear with different colormask for each colorbuffer
Reviewed-by: Brian Paul <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f04dd3d0035f57854f0715c7e0f6a0fbe6b41f15
Author: Marek Olšák <[email protected]>
Date: Mon Jan 14 06:58:52 2013 +0100
gallium: remove PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE
Reviewed-by: Brian Paul <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cabe4fbb852f3c335937e3576db85d0143cb6c12
Author: Marek Olšák <[email protected]>
Date: Mon Jan 14 06:57:28 2013 +0100
st/mesa: always assume separate depth and stencil clear is supported
All drivers implement it now.
Reviewed-by: Brian Paul <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=16a30e201e10278049b6464d21556f59d892ecf0
Author: Marek Olšák <[email protected]>
Date: Mon Jan 14 06:45:50 2013 +0100
softpipe: implement separate depth-stencil clear
The CAP is going away.
Reviewed-by: Brian Paul <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=77dd50d020da587445e8ccd38a0cc3d0484c8065
Author: Jon TURNEY <[email protected]>
Date: Sun Jan 13 23:05:17 2013 +0000
libgl-xlib: softpipe and llvmpipe aren't mutually exclusive at link time
Since automake changes, softpipe and llvmpipe are mutually exclusive at link
time. This doesn't make much sense to me as we can choose between them at
run-time using GALLIUM_DRIVER.
Creating library file: .libs/libGL.dll.a
.libs/xlib.o: In function `sw_screen_create_named':
/jhbuild/checkout/mesa/mesa/src/gallium/targets/libgl-xlib/../../../../src/gallium/auxiliary/target-helpers/inline_sw_helper.h:35:
undefined reference to `_softpipe_create_screen'
Signed-off-by: Jon TURNEY <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit