c3df65c123c6392b0b116900395a89fd3dbb9b85 |
|
17-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
st/mesa/r200/i915/i965: move ARB program fields into a union It's common for games to compile 2000 programs or more so at 32bits x 2000 programs x 22 fields x 2 (at least) stages This should give us something like 352 kilobytes in savings once we add some more glsl only fields. Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
0ad69e6b51b06c483db37c3b7eeb1da1a95d0629 |
|
05-Nov-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
mesa: make use of ralloc when creating ARB asm gl_program fields This will allow us to move the ARB asm fields in gl_program into a union as we will be able call ralloc_free() on the entire struct when destroying the context. In this change we switch over to using ralloc for the Instructions, String and LocalParams fields of gl_program. Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
5346630593bec80efa732c40b63e0e95a00af074 |
|
20-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
r200/glsl/st/mesa: use common outputs written field And set outputs written directly in shader_info. st/mesa changes where: Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/program/program_parse.y
|
e81aaeba37f5419323d8f88bc10943c77e25ed14 |
|
20-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
r200/i915/st/mesa/compiler: use common inputs read field And set set inputs_read directly in shader_info. To avoid regressions between changes this change is a squashed version of the following patches. st/mesa changes where: Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
/external/mesa3d/src/mesa/program/program_parse.y
|
6dbe8a1b9fd750b4c1bb600a0bb43129d95e6eca |
|
21-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
glsl/mesa: remove unused namespace support from the symbol table Namespace support seems to have been unused for a very long time. Previously the hash table entry was never removed and the symbol name wasn't freed until the symbol table was destroyed. In theory this could reduced the number of times we need to copy a string as duplicate names are reused. However in practice there is likely only a limited number of symbols that are the same and this is likely to cause other less than optimal behaviour such as the hash_table continuously growing. Along with dropping namespace support this change removes entries from the hash table as they become unused. Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
201f940d2e49d6ead5dfd6921b33bf6afefa4c68 |
|
05-Oct-2016 |
Timothy Arceri <timothy.arceri@collabora.com> |
mesa: remove the UsesDFdy flag Seems the last user of this was removed in 08bc74e69. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/program/program_parse.y
|
5429554f09427b582e447ba3cd7350b45272054d |
|
29-Feb-2016 |
Matt Turner <mattst88@gmail.com> |
program: Remove NV_fragment_program scalar suffix parsing. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
409c24f9cc390be62df6ef790879f903065b28a5 |
|
27-Feb-2016 |
Matt Turner <mattst88@gmail.com> |
program: Remove NV_fragment_program_option parsing support. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
fe2d2c7ad8793fbcc4761cf5b51270c296eb811c |
|
27-Feb-2016 |
Matt Turner <mattst88@gmail.com> |
program: Remove NV_fragment_program Abs support. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
7b50b0457db3acffcc2a7de092df346fa314aa95 |
|
27-Feb-2016 |
Matt Turner <mattst88@gmail.com> |
program: Remove condition-code and precision support. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
9e11ff7e11c87dd19d2274644bca7a869ff2143d |
|
27-Feb-2016 |
Matt Turner <mattst88@gmail.com> |
program: Remove OPCODE_KIL_NV. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
54a70a8ef20a9a875f0828acb42332cf69217ff5 |
|
02-Jun-2015 |
Matt Turner <mattst88@gmail.com> |
program: Replace gl_inst_opcode with enum prog_opcode. Both were introduced at the same time. I'm not sure why we needed two. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
ef3f89e53e76332ddb300b08f4698347e17d1633 |
|
02-Jun-2015 |
Matt Turner <mattst88@gmail.com> |
program: Shrink and rename SaturateMode field to Saturate. It was 2 bits to accommodate SATURATE_PLUS_MINUS_ONE (removed by commit 09b566e1). A similar change was made to TGSI recently in commit e1c4e8aa. Reducing the size from 2 bits to 1 reduces the size of the bit fields from 17 bits to 16, which is a much nicer number. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
135b8c65305c05c1ea9145141bad670003270c41 |
|
25-Feb-2015 |
Brian Paul <brianp@vmware.com> |
mesa: include stdarg.h only where it's used Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
bfcdb843830bba0190e00e35e3c5c18c4bdb5de1 |
|
21-Feb-2015 |
Matt Turner <mattst88@gmail.com> |
mesa: Use assert() instead of ASSERT wrapper. Acked-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/program/program_parse.y
|
17e7cbe078dc2d3556208212d07afe72489aae33 |
|
02-Apr-2014 |
Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> |
mesa: Add missing null check in _mesa_parse_arb_program() Add missing null check in program_parse.tab.c through program_parse.y Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
84732a982c3eeaca2e2809532c8422dc5f7045c1 |
|
08-Jan-2014 |
Paul Berry <stereotype441@gmail.com> |
mesa: replace ctx->Const.{Vertex,Fragment,Geomtery}Program with an array. These are replaced with ctx->Const.Program[MESA_SHADER_{VERTEX,FRAGMENT,GEOMETRY}]. In patches to follow, this will allow us to replace a lot of ad-hoc logic with a variable index into the array. With the exception of the changes to mtypes.h, this patch was generated entirely by the command: find src -type f '(' -iname '*.c' -o -iname '*.cpp' -o -iname '*.py' \ -o -iname '*.y' ')' -print0 | xargs -0 sed -i \ -e 's/Const\.VertexProgram/Const.Program[MESA_SHADER_VERTEX]/g' \ -e 's/Const\.GeometryProgram/Const.Program[MESA_SHADER_GEOMETRY]/g' \ -e 's/Const\.FragmentProgram/Const.Program[MESA_SHADER_FRAGMENT]/g' Suggested-by: Brian Paul <brianp@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/program/program_parse.y
|
81ff29e30c573fcc134bf717670015ab4654ebcd |
|
18-Nov-2013 |
Eric Anholt <eric@anholt.net> |
mesa: Fix setup of LocalParams array. i965 passed piglit, but swrast and gallium both segfaulted without this. i965 happened to work because it never ran _mesa_load_state_parameters() on the new program before the test called glProgramLocalParameter(), which was allocating a LocalParams array for the fallback path. v2: Since v1 threw away old localparams data, leaked old LocalParams memory, only fixed fragment programs, and I was dubious of my previous invariants already (nothing but program_parse.y will generate LocalParams, and only that one path of program_parse.y will), just late-allocate localparams at the other point of dereferencing them. This adds overhead to _mesa_load_state_parameter, which is uncomfortable, but I'm pretty sure that giant switch statement is super slow already. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71734 Tested-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
e5885c119de1e508099cc1111e1c9f8ff00fab88 |
|
20-Sep-2013 |
Eric Anholt <eric@anholt.net> |
mesa: Dynamically allocate the storage for program local parameters. The array was 64kb per struct gl_program, plus we statically stored a copy of one on disk for _mesa_DummyProgram. Given that most struct gl_programs we generate are for GLSL shaders that don't have local parameters, this was a waste. Since you can store and fetch parameters beyond what the program actually uses, we do have to do a late allocation if necessary at GetProgramLocalParameter time. Reduces peak memory usage in the dota2 trace I made by 76MB (4.5%) Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
5ffa28df4e4cc22481b4ed41c78632f35765f41d |
|
31-Jul-2013 |
Laurent Carlier <lordheavym@gmail.com> |
mesa/program: remove useless YYID This fixes the build with Bison 3.0. Also works with Bison 2.7.1. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/program/program_parse.y
|
6d2a9220b832d9a0c0cf35fcc5b9de1542af267d |
|
30-Jul-2013 |
Kenneth Graunke <kenneth@whitecape.org> |
mesa/program: Switch from the deprecated YYLEX_PARAM to %lex-param. YYLEX_PARAM is no longer supported as of Bison 3.0. Instead, the Bison developers recommend using %lex-param. %lex-param takes a type and variable name, similar to %parse-param, so you can't pass an arbitrary expression like state->scanner. But Flex insists on passing the actual scanner object, not an arbitrary object like state. To solve this, the parser defines a wrapper lex() function which accepts "state," and calls Flex's lex() function with state->scanner. Fixes the build with Bison 3.0. Also works with Bison 2.7.1. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67354 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Tested-by: Laurent Carlier <lordheavym@gmail.com> Cc: "9.2" mesa-stable@lists.freedesktop.org
/external/mesa3d/src/mesa/program/program_parse.y
|
de917b4c4c4dfc949d5f8e3d9eb2dd48b63a3de5 |
|
30-Jul-2013 |
Kenneth Graunke <kenneth@whitecape.org> |
mesa/program: Change the program parser's namespace. Bison 3.0 removes the YYLEX_PARAM macro. In preparation for handling this using %lex-param, the parser needs a wrapper function for the actual Flex lex() function. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67354 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Tested-by: Laurent Carlier <lordheavym@gmail.com> Cc: "9.2" mesa-stable@lists.freedesktop.org
/external/mesa3d/src/mesa/program/program_parse.y
|
338ea2e4d14b5bf30fe2820facd71333d5acd527 |
|
28-Jun-2013 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: GL_EXT_fog_coord is not optional Every driver left in Mesa enables this extension all the time. There's no reason to let it be optional. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
c139708087ead063da7ac64126af69f2fe7bcf1e |
|
28-Jun-2013 |
Ian Romanick <ian.d.romanick@intel.com> |
mesa: GL_EXT_secondary_color is not optional Every driver left in Mesa enables this extension all the time. There's no reason to let it be optional. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
5e78433eec94fcaa87bdcb2526ec0910a69ed347 |
|
02-May-2013 |
Marek Olšák <maraeo@gmail.com> |
mesa: move max texture image unit constants to gl_program_constants Const.MaxTextureImageUnits -> Const.FragmentProgram.MaxTextureImageUnits Const.MaxVertexTextureImageUnits -> Const.VertexProgram.MaxTextureImageUnits etc. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/program/program_parse.y
|
fe955dc6b626a43036ff2a4cfe44511e10a09332 |
|
09-Nov-2012 |
Paul Berry <stereotype441@gmail.com> |
mesa: Fix up program_parse.y to avoid uninitialized $$ Without this patch, $$.negate, $$.rgba_valid, and $$.xyzw_valid take on garbage values. At the moment this problem is benign (the garbage values happen to be zero), but in my experiments executing GL operations on a background thread, the garbage values change, leading to piglit failures. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/program/program_parse.y
|
eed6baf7621fa94e7888f8079b155fc67a08540c |
|
23-Feb-2013 |
Paul Berry <stereotype441@gmail.com> |
Replace gl_frag_attrib enum with gl_varying_slot. This patch makes the following search-and-replace changes: gl_frag_attrib -> gl_varying_slot FRAG_ATTRIB_* -> VARYING_SLOT_* FRAG_BIT_* -> VARYING_BIT_* Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Tested-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
36b252e94724b2512ea941eff2b3a3abeb80be79 |
|
23-Feb-2013 |
Paul Berry <stereotype441@gmail.com> |
Replace gl_vert_result enum with gl_varying_slot. This patch makes the following search-and-replace changes: gl_vert_result -> gl_varying_slot VERT_RESULT_* -> VARYING_SLOT_* Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Tested-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
f7cfe3fc708ce7d90699ec3144691371740d62e6 |
|
11-Oct-2012 |
Kenneth Graunke <kenneth@whitecape.org> |
mesa: Remove dead program_parameter::Flags field. All flags are now gone, so we can stop storing and passing this around. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/program/program_parse.y
|
8058a70763ff9e5b91eac8bd177c96679b5dd957 |
|
10-Oct-2012 |
Eric Anholt <eric@anholt.net> |
mesa: Remove prog_instruction.h field for never-supported NV_vertex_program3. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
a0f7b869592013b24a5bacf0ceb2bdb1e9146378 |
|
20-Jun-2012 |
Paul Berry <stereotype441@gmail.com> |
mesa: Set UsesDFdy appropriately for assembly programs. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
b14c06e10d570edcb4dcbea173d71751563616e7 |
|
02-Dec-2011 |
Mathias Fröhlich <Mathias.Froehlich@web.de> |
mesa: Use VERT_{ATTRIB,BIT}* for ARB input validation. For validating ARB program inputs replace hard coded bitfield and attribute number with the appropriate VERT_{ATTRIB,BIT}* variant. This should fix: https://bugs.freedesktop.org/show_bug.cgi?id=43407 Signed-off-by: Mathias Froehlich <Mathias.Froehlich@web.de> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
dca6a28a14f22d77273d79d44f57b0d853c0242d |
|
31-Oct-2011 |
Mathias Fröhlich <Mathias.Froehlich@web.de> |
mesa: Make gl_program::InputsRead 64 bits. Make gl_program::InputsRead a 64 bits bitfield. Adapt the intel and radeon driver to handle a 64 bits InputsRead value. Signed-off-by: Mathias Froehlich <Mathias.Froehlich@web.de> Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/program/program_parse.y
|
324857599b2a4735c86e54da9a1776c034dadf72 |
|
05-Aug-2011 |
Brian Paul <brianp@vmware.com> |
mesa: use gl_constant_value type in ARB program parser
/external/mesa3d/src/mesa/program/program_parse.y
|
f3c92c2323b1a00e592a2bae739c420a52d4285b |
|
27-Apr-2011 |
Brian Paul <brianp@vmware.com> |
mesa: emit more info in program parser error message
/external/mesa3d/src/mesa/program/program_parse.y
|
d7f4c4e1b187552ede397f00fb56a6f0bb724ce1 |
|
21-Apr-2011 |
Eric Anholt <eric@anholt.net> |
mesa: Fix fragment.color (no index) writes with OPTION ARB_draw_buffers. Fixes a bug in Trine where fragment.color would write FRAG_RESULT_COLOR (which is interpreted by drivers as being the "write this to all color buffers" option) instead of FRAG_RESULT_DATA0 (just the first target). Fixes piglit ATI_draw_buffers/arbfp-no-index.
/external/mesa3d/src/mesa/program/program_parse.y
|
28cec9e832b716b84c11ddabfcee74e0daf6ec49 |
|
13-Apr-2011 |
Eric Anholt <eric@anholt.net> |
mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers. Fixes fbo-drawbuffers-arbfp. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321 Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/program/program_parse.y
|
8ad821df0a2d49964141f2ea4ef8179f4edc052f |
|
02-Mar-2011 |
Brian Paul <brianp@vmware.com> |
mesa: added gl_program_constants::MaxAddressOffset See https://bugs.freedesktop.org/show_bug.cgi?id=29418
/external/mesa3d/src/mesa/program/program_parse.y
|
f9995b30756140724f41daf963fa06167912be7f |
|
12-Oct-2010 |
Kristian Høgsberg <krh@bitplanet.net> |
Drop GLcontext typedef and use struct gl_context instead
/external/mesa3d/src/mesa/program/program_parse.y
|
3888c38fc9e7debc53a901295af0027801c4ae74 |
|
03-Sep-2010 |
Vinson Lee <vlee@vmware.com> |
mesa: Fix printf-like warning.
/external/mesa3d/src/mesa/program/program_parse.y
|
0614006d090902324149387ec150231b647928fd |
|
31-Jul-2010 |
Marek Olšák <maraeo@gmail.com> |
mesa: increase the relative address offset limit to 4096 in ARB_vp/fp Even though the spec says that the limits should be -64/+63, proprietary drivers support much larger relative offsets and some applications do depend on this non-standard behavior. Also program_parse.tab.c has been regenerated. This fixes the parser error: ARB_vp: error: relative address offset too large See also: https://bugs.freedesktop.org/show_bug.cgi?id=28628 4096 * sizeof(vec4) is the maximum size of the constant buffer on NV50. It is not supposed to be a definite hardware limit, it is for the parser not to get in the way and let the underlying driver decide whether it can run the shader or not.
/external/mesa3d/src/mesa/program/program_parse.y
|
56643096f1eb01eefa1a532ac096b32d23b6b8ba |
|
30-Jul-2010 |
Brian Paul <brianp@vmware.com> |
mesa: added gl_program::IndirectRegisterFiles field Now drivers, etc. can know which register files are accessed with indirect addressing. Before we just checked gl_program::NumAddressRegs but didn't know if that was the constant buffer, temp regs, or what. The only user of this new field so far will be the gallium state tracker.
/external/mesa3d/src/mesa/program/program_parse.y
|
ec2b92f98c2e7f161521b447cc1d9a36bce3707c |
|
11-Jun-2010 |
Brian Paul <brianp@vmware.com> |
mesa: rename src/mesa/shader/ to src/mesa/program/
/external/mesa3d/src/mesa/program/program_parse.y
|