- Jan 05, 2013
-
-
Jordan Justen authored
Choose MESA_FORMAT_ARGB2101010 when storing GL_RGBA + GL_UNSIGNED_INT_2_10_10_10_REV or GL_RGB + GL_UNSIGNED_INT_2_10_10_10_REV. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
For floats, if GL_RGB is the source, then alpha should be set to 1.0F. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Mesa core's copyteximage calls the driver with format/type==GL_NONE to "Allocate texture memory". In this case, we shouldn't call _mesa_store_teximage. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
This format is allowed by the GL_EXT_texture_type_2_10_10_10_REV extension. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
In ES or GL+GL_ARB_ES2_compatibility, the usage of format = IMPLEMENTATION_COLOR_READ_FORMAT + type = IMPLEMENTATION_COLOR_READ_TYPE can function, even if the src/dst int vs. non-int types differ. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
GTF/gles3 test suite wants this error to have higher priority than the type checking. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
If the source read buffer is integer based, and the the read pixels type is RGBA/UNSIGNED_BYTE, then use the integer pixel conversion path. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Changes based on GTF/gles3 conformance test suite. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
This returns the current read renderbuffer for the specified format type. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
-
This function checks for ES3 compatible format/type/internalFormat/dimension combinations. [jordan.l.justen@intel.com: additional tweaks for gles3-gtf] Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
gles3conform expects than when converting from a signed int to an unsigned byte, the output will be clamped at a max of 0x7f. This impacts conversion from int16_t => uint8_t and int32_t => uint8_t. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
Jordan Justen authored
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
-
This should be squashed into the earlier patch when mailing it out for review or merging it to master. 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.
-
NOTE: This is a candidate for the 9.0 branch. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-
NOTE: This is a candidate for the 9.0 branch. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-
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 <chad.versace@linux.intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-
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 <chad.versace@linux.intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-
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 <chad.versace@linux.intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-
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 <chad.versace@linux.intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-
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 <chad.versace@linux.intel.com> Reviewed-by: Ian Romanick <ian.d.romanick.intel.com>
-
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 <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
-
IMPORTANT: this patch should not be pushed to master until ES3 support is fully implemented on i965/Gen6+.
-
We just treat this as an alias for GL_ANY_SAMPLES_PASSED. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
-
The GLSL ES 3.0 spec (Section 12.17) says: "GLSL ES 1.00 removed token pasting and other functionality." NOTE: This is a candidate for the stable branches. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Carl Worth <cworth@cworth.org>
-
Simply emitting a nicely-formatted error message if any undefined macro is encountered in a parser context expecting an expression. With this commit, the following piglit test now passes: spec/glsl-es-3.00/compiler/undefined-macro.vert Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-
This can be triggered either by creation of a GLES context (with api == API_OPENGLES2) or else by a #version directive with version value 100 or with a string of "es" following the version value. There's no behavioral change with this commit—just preparation for ES-specific behavior in the preprocessor in the future. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-
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 <kenneth@whitecape.org> (v1) Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
-
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 <kenneth@whitecape.org>
-