summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* glcpp: Accept pointer to GL context rather than just the API versionCarl Worth2013-01-111-1/+1
| | | | | | | | | As the preprocessor becomes more sophisticated and gains more optional behavior, it's easiest to just pass the GL context pointer to it so that it can examine any fields there that it needs to (such as API version, or the state of any driconf options, etc.). Reviewed-by: Kenneth Graunke <[email protected]>
* drirc: Add quirk to disable GLSL line continuations for Savage2Carl Worth2013-01-111-0/+3
| | | | | | | | | | | | | | | | | | This application is known to contain shaders that: 1. Have a stray backslash as the last line of comment lines 2. Have a declaration immediately following that line Hence, interpreting that backslash as a line continuation causes the declaration to be hidden and the shader fails to compile. Fortunately, the shaders also: 3. Do not have any other intentional line-continuation characters So disabling line continuations entirely for the application fixes this problem without causing any other breakage. Reviewed-by: Kenneth Graunke <[email protected]>
* driconf: Add a new option: disable_glsl_line_continuationsCarl Worth2013-01-114-1/+15
| | | | | | | | | This is to enable a quirk for Savage2 which includes a shader with a stray '\' at the end of a comment line. Interpreting that backslash as a line continuation will break the compilation of the shader, so we need a way to disable this. Reviewed-by: Kenneth Graunke <[email protected]>
* driconf: Add proper dependency for compiling .mo files from .po files.Carl Worth2013-01-112-21/+20
| | | | | | | | | | | Previously this was happening unconditionally, leading to some excessive rebuilding/relinking during builds. Note that the .po files are not automatically updated due to changes to the t_options.h file. Instead, translators should continue to use "make po" manually. This is because after new strings are merged into the existing .po file, manual work is still required by translators to ensure that the translations are correct.
* driconf: Add translation-generation to build system, don't track generated filesCarl Worth2013-01-118-643/+64
| | | | | | | | | | | | | | | | | | | | Previously, the xmlpool directory had a lone Makefile to assist poeple in manually invoking a deep make in order to update the translations in options.h. We can observe that this wasn't happening in fact, (new translations had been added to de.po without being generated into options.h, and new options had been manually added directly to options.h rather than to t_options.h). Prevent both of these problems from occurring in the future by automatically generating options.h as part of the standard build of mesa. For this, the generated options.h is now removed from version control, (along with Makefile in favor of Makefile.am). [chadv: Port the Autotools changes to Android.] Signed-off-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* driconf: Fix German translations by removing a couple of bogus backslashesCarl Worth2013-01-111-2/+2
| | | | | | | | | As can be seen, many other translation strings already include a single apostrophe just fine without any escaping. This strangely-escaped apostrophe was causing a build failure ("invalid escape sequence") resulting in no "de" translations in the final options.h file. Reviewed-by: Kenneth Graunke <[email protected]>
* driconf: Fix gen_xmlpool.py script to allow running from any directoryChad Versace2013-01-112-4/+18
| | | | | | | | | | | | | | The gen_xmlpool.py script would work correctly only when executed from the directory that contained the script. This shortcoming was due to some hard-coded paths in the script. In order to easily invoke the script from the Android build system, we must be able to execute the script from an arbitrary directory. To enable that, this patch replaces the two hard-coded paths with new command line arguments. Signed-off-by: Chad Versace <[email protected]> Reviewed-by: Carl Worth <[email protected]>
* driconf: Add some translations which have been available, but were not compiledCarl Worth2013-01-111-8/+8
| | | | | | | These translations have existed in the de.po file, but were not in the generated options.h file. This was fixed by simply running "make options.h". Reviewed-by: Kenneth Graunke <[email protected]>
* driconf: Add option definitions to source file, not generated targetCarl Worth2013-01-111-0/+10
| | | | | | | | | | | | | | For the last two most-recently-added driconf options, their definition was manually added to options.h, a file which is intended to be automatically generated, (as part of support for translated driconf option descriptions). This means that these options would be eliminated if the generation step were performed again. Fix this by correctly adding the definitions of these options to t_options.h, (the file used as input to the generator), and not the options.h file, which is generated. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Use _mesa_lookup_enum_by_nr in tex*_error_checkMatt Turner2013-01-111-6/+9
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa/es3: Add support for GL_PRIMITIVE_RESTART_FIXED_INDEXIan Romanick2013-01-119-19/+67
| | | | | | | | | | | | | This requires some derived state. The cut vertex used is either the value specified by glPrimitiveRestartIndex or it's hard-coded to ~0. The derived state gl_array_attrib::_RestartIndex captures this value. In addition, the derived state gl_array_attrib::_PrimitiveRestart is set whenever either gl_array_attrib::PrimitiveRestart or gl_array_attrib::PrimitiveRestartFixedIndex is set. v2: Use _mesa_is_gles3. Signed-off-by: Ian Romanick <[email protected]>
* i965: Add support for GL_ANY_SAMPLES_PASSED_CONSERVATIVEIan Romanick2013-01-111-0/+3
| | | | | | | | We just treat this as an alias for GL_ANY_SAMPLES_PASSED. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa/es3: Add support for GL_ANY_SAMPLES_PASSED_CONSERVATIVE query targetIan Romanick2013-01-112-2/+11
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es3: Allow transpose matrix uniforms in GLES3Ian Romanick2013-01-111-1/+2
| | | | Signed-off-by: Ian Romanick <[email protected]>
* Clean up .gitignore filesMatt Turner2013-01-1017-19/+0
|
* Remove state_tracker/MakefileMatt Turner2013-01-101-2/+0
| | | | Unneeded and unnecessary.
* mesa: Rename and wire-up GetInteger64i_vMatt Turner2013-01-103-5/+4
| | | | | | | | | | | | The function was named badly and wasn't in the dispatch table, making it hard to find. Fixes transform_feedback2_states and gets a few other transform feedback tests closer to working in es3conform. Reviewed-by Anuj Phogat <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Correct glGet{Boolean,Integer}i_v namesMatt Turner2013-01-101-2/+2
| | | | | | Reviewed-by Anuj Phogat <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow GL_DEPTH_STENCIL_ATTACHMENT in ES 3Matt Turner2013-01-101-1/+1
| | | | | | | Fixes framebuffer_srgb_default_encoding_fbo and 5 packed_depth_stencil tests from es3conform. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Support more glGet enums for ES3Chad Versace2013-01-102-3/+11
| | | | | | | | | | | | | | | | | | For glGetIntegerv, add support for the following in an OpenGL ES 3.0 context: GL_MAJOR_VERSION GL_MINOR_VERSION GL_NUM_EXTENSIONS See Table 6.29 of the OpenGL ES 3.0 spec. Fixes error GL_INVALID_ENUM in piglit egl-create-context-verify-gl-flavor, testcase for OpenGL ES 3.0. Reviewed-by: Kenneth Graunke <[email protected]> (v1) Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mesa: Support querying GL_MAX_ELEMENT_INDEX in ES 3Matt Turner2013-01-104-0/+23
| | | | | | | | | The ES 3 spec says that the minumum allowable value is 2^24-1, but the GL 4.3 and ARB_ES3_compatibility specs require 2^32-1, so return 2^32-1. Fixes es3conform's element_index_uint_constants test. Reviewed-by: Ian Romanick <[email protected]>
* mesa: De-duplicate ES2 queriesMatt Turner2013-01-102-11/+11
| | | | | | | | From GL/GLES/GL_CORE and GLES2 -> GL/GL_CORE/GLES2. Yes, we really were exposing ES2_compatibility queries on ES 1. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glGet* queries on EXT_texture_lod_bias data in ES 3Matt Turner2013-01-101-3/+7
| | | | | | Fixes the remaining 4 texture_lod_bias failures in es3conform. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glGet* queries on EXT_framebuffer_blit data in ES 3Matt Turner2013-01-101-4/+4
| | | | | | Fixes 2 framebuffer_blit es3conform tests. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glGet* queries on ARB_fragment/vertex_shader data in ES 3Matt Turner2013-01-101-4/+6
| | | | | | | Fixes uniform_buffer_object_implementation_dependent_limits in es3conform. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glGet* queries on ARB_framebuffer_object data in ES 3Matt Turner2013-01-101-3/+3
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glGet* queries on ARB_transform_feedback2 data in ES 3Matt Turner2013-01-102-6/+11
| | | | | | | | | Fixes the transform_feedback2_init_defaults test from es3conform. The ES 3 spec lists these as TRANSFORM_FEEDBACK_PAUSED and TRANSFORM_FEEDBACK_ACTIVE. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glGet* queries on EXT_transform_feedback data in ES 3Matt Turner2013-01-101-7/+7
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glGet* queries on ARB_sync data in ES 3Matt Turner2013-01-101-3/+3
| | | | | | Fixes the sync_coverage_max_server_wait_timeout test in es3conform. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glGet* queries of EXT_pbo data in ES 3Matt Turner2013-01-101-4/+4
| | | | | | | Fixes pixel_buffer_object_default_binding and gets other tests in es3conform closer to passing. Reviewed-by: Ian Romanick <[email protected]>
* mesa: Allow glGet* queries of select ARB_ubo data in ES 3Matt Turner2013-01-101-9/+14
| | | | | | Fixes 5 uniform_buffer_object tests in es3conform. Reviewed-by: Ian Romanick <[email protected]>
* Add ES 3 handling to get.c and get_hash_generator.pyMatt Turner2013-01-103-1/+24
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa/tests: Add ARB_ES3_compatibility enumsMatt Turner2013-01-101-0/+14
| | | | Reviewed-by: Ian Romanick <[email protected]>
* mesa/program: Fix both Classic and Gallium buildQuentin Glidic2013-01-101-1/+1
| | | | | | | | | Follow-up for 907844107252260c646aca361191ef7f121f3d23 and 3a5ad21cd3f026579eeacc25b39513711556c7ee Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57044 Tested-by: Fabio Pedretti <[email protected]> Tested-by: Brad King <[email protected]>
* intel: Clean up confusion between logical and physical surface dimensions.Paul Berry2013-01-098-153/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In most cases, the width, height, and depth of the physical surface used by the driver to implement a texture or renderbuffer is equal to the logical width, height, and depth exposed to the client through functions such as glTexImage3D(). However, there are two exceptions: cube maps (which have a physical depth of 6 but a logical depth of 1) and multisampled renderbuffers (which have larger physical dimensions than logical dimensions to allow multiple samples per pixel). Previous to this patch, we accounted for the difference between physical and logical surface dimensions at inconsistent places in the call graph (multisampling was accounted for in intel_miptree_create_for_renderbuffer(), and cubemaps were accounted for in intel_miptree_create_internal()). As a result, it wasn't always clear, when calling a miptree creation function, whether physical or logical dimensions were needed. Also, we weren't consistent about storing logical dimensions in the intel_mipmap_tree structure (we only did so in the intel_miptree_create_for_renderbuffer() code path, and we did not store depth). This patch refactors things so that intel_miptree_create_internal() is responsible for converting logical to physical dimensions and for storing both the physical and logical dimensions in the intel_mipmap_tree structure. As a result, all miptree creation functions interpret their arguments as logical dimensions, and both physical and logical dimensions are always available to functions that work with intel_mipmap_trees. In addition, it renames the fields in intel_mipmap_tree used to store the dimensions, so that it is clear from the name whether physical or logical dimensions are being referred to. This should fix the following bugs: - When creating a separate stencil surface for a depthstencil cubemap, we would erroneously try to convert the depth from 1 to 6 twice, resulting in an assertion failure. - When creating an MCS buffer for compressed multisampling, we used physical dimensions instead of logical dimensions, resulting in wasted memory. In addition, this should considerably simplify the implementation of ARB_texture_multisample, because it moves the code to compute the physical size of multisampled surfaces out of renderbuffer-only code. Reviewed-by: Chris Forbes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* intel: Add a force_y_tiling parameter to intel_miptree_create().Paul Berry2013-01-095-26/+34
| | | | | | | | | | | This allows intel_miptree_alloc_mcs() to force Y tiling for the MCS buffer. Previously we accomplished this by the hack of passing INTEL_MSAA_LAYOUT_CMS as the msaa_layout parameter, but that parameter is going to be going away soon. Reviewed-by: Chris Forbes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* intel: Move compute_msaa_layout earlier in file.Paul Berry2013-01-091-38/+41
| | | | | | | | | | No functional change. This patch moves the compute_msaa_layout() function earlier in intel_mipmap_tree.c so that it can be used by other functions in that file. Reviewed-by: Chris Forbes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* i965/fs: Fix struct vs. class in acp_entry definitions.Kenneth Graunke2013-01-081-1/+1
|
* st/mesa: fix possible MSVC build error v2Marek Olšák2013-01-081-2/+2
| | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=59143 Using GLubyte as per Brian's suggestion.
* mesa: Add ALIGN() macro to main/macros.h.Paul Berry2013-01-084-15/+15
| | | | | | | | | Previously this macro existed in 3 separate places, some inside the intel driver and some outside of it. It makes more sense to have it in main/macros.h Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Support GL_FIXED and packed vertex formats natively on Haswell+.Kenneth Graunke2013-01-072-12/+58
| | | | | | | Haswell and later support the GL_FIXED and 2_10_10_10_rev vertex formats natively, and don't need shader workarounds. Reviewed-by: Eric Anholt <[email protected]>
* i965: Add #defines for GL_FIXED vertex formats.Kenneth Graunke2013-01-071-0/+4
| | | | Reviewed-by: Eric Anholt <[email protected]>
* i965: Add remaining #defines for packed vertex formats.Kenneth Graunke2013-01-071-0/+9
| | | | Reviewed-by: Eric Anholt <[email protected]>
* i965: Use Haswell's sample_d_c for textureGrad with shadow samplers.Kenneth Graunke2013-01-074-5/+17
| | | | | | The new hardware actually just supports this now. Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Remove dead code from generate_uniform_pull_constant_load_gen7.Kenneth Graunke2013-01-071-2/+0
| | | | | | | generate_uniform_pull_constant_load_gen7() is only called on Gen7+, so the gen < 6 code is dead. Reviewed-by: Eric Anholt <[email protected]>
* mesa: Don't use rtasm for Haiku swrastAlexander von Gluck IV2013-01-071-1/+1
| | | | | | | | | * We have a symbol conflict as rtasm in Mesa collides with rtasm in gallium. * As us linking gallium and mesa together is an edge case, lets just omit the rtasm code from Mesa as we should be going llvmpipe soon :)
* intel: Fix copy-and-paste bug setting gl_constants::MaxSamplesIan Romanick2013-01-041-1/+1
| | | | | | | | | | gl_constants::MaxSamples is an integer, so setting it to 1.0 is just silly. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chris Forbes <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Disallow R, RG, or RGB integer and unsigned formats in OpenGL ES 3.0Ian Romanick2013-01-041-4/+2
| | | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Disallow SNORM formats for renderbuffers in OpenGL ESIan Romanick2013-01-041-16/+4
| | | | | | | | | | v2: Move {RED,RG,RGB,RGBA}_SNORM changes from the previous commit to this commit. Based on suggestions from Ken. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Disallow deprecated SNORM formats for renderbuffersIan Romanick2013-01-041-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OpenGL 3.2 core profile spec says: "The following base internal formats from table 3.11 are color-renderable: RED, RG, RGB, and RGBA. The sized internal formats from table 3.12 that have a color-renderable base internal format are also color-renderable. No other formats, including compressed internal formats, are color-renderable." The OpenGL 3.2 compatibility profile spec says (only ALPHA is added): "The following base internal formats from table 3.16 are color-renderable: ALPHA, RED, RG, RGB, and RGBA. The sized internal formats from table 3.17 that have a color-renderable base internal format are also color-renderable. No other formats, including compressed internal formats, are color-renderable." Table 3.12 in the core profile spec and table 3.17 in the compatibility profile spec list SNORM formats as having a base internal format of RED, RG, RGB, or RGBA. From this we infer that they should also be color renderable. The OpenGL ES 3.0 spec says: "An internal format is color-renderable if it is one of the formats from table 3.12 noted as color-renderable or if it is unsized format RGBA or RGB. No other formats, including compressed internal formats, are color-renderable." In the OpenGL ES 3.0 spec, none of the SNORM formats have "color- renderable" marked in table 3.12. The RGB I and UI formats also are not color-renderable in ES3, but we'll save that change for another patch. Both NVIDIA's closed-source driver (version 304.64) and AMD's closed-source driver (Catalyst 12.6 on HD 3650) reject *all* SNORM formats for renderbuffers in OpenGL 3.3 compatibility profiles. v2: Move {RED,RG,RGB,RGBA}_SNORM changes from the this commit to the next commit. Based on suggestions from Ken. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>