summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* i965: Change type of brw_context.primitive from GLenum to hardware primitiveChad Versace2011-10-104-43/+41
| | | | | | | | | | | | | | | | | | | For example, GL_TRIANLGES is converted to _3DPRIM_TRILIST. The conversion is necessary because HiZ and MSAA resolve operations emit a 3DPRIM_RECTLIST, which cannot be conveyed by GLenum. As a consequence, brw_gs_prog_key.primitive is also converted. v2 ---- - [anholt] Split brw_set_prim into brw/gen6 variants in previous commit, since not much code is really shared between the two. - [anholt] Replace switch statements with table lookups, since this is a hot path. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965: Split brw_set_prim into brw/gen6 variantsChad Versace2011-10-102-2/+19
| | | | | | | | | | | The "slight optimization to avoid the GS program" in brw_set_prim() is not used by Gen 6, since Gen 6 doesn't use a GS program. Also, Gen 6 doesn't use reduced primitives. Also, document that intel_context.reduced_primitive is only used for Gen < 6 Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* r600g: drop force int type workaroundDave Airlie2011-10-104-28/+5
| | | | | | | now that we have integer texture types I can drop this workaround so that copies of values is done properly (as floats would fail on some corner cases). Signed-off-by: Dave Airlie <[email protected]>
* r600g: add integer texture/render integer formats for r600/700.Dave Airlie2011-10-101-2/+60
| | | | | | with these I can drop the force int type hack. Signed-off-by: Dave Airlie <[email protected]>
* mesa: Prevent repeated glDeleteProgram() from blowing away our refcounts.Eric Anholt2011-10-101-3/+5
| | | | | | | | | | | | glDeleteProgram should only be able to remove the one refcount for the user's reference to the program from the hash table (even though that ref does live on in the hash table until the last other ref is removed). Fixes piglit ARB_shader_objects/delete-repeat. Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965: Fix timer query on gen6+Zou Nan hai2011-10-101-5/+12
| | | | | | | | | | | | PIPE_CONTROL reported time stamp are 64 bits value incrementing every 80 ns, and only the low 32 bits are active (high 32 are always 0). v2: Cleaned up whitespace, function arguments (anholt). Fixes piglit EXT_timer_query/time-elapsed Signed-off-by: Zou Nan hai <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
* linker: Fix a slightly incorrect commentIan Romanick2011-10-101-1/+4
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* hash_table: Make string_to_uint_map make a copy of the nameIan Romanick2011-10-101-1/+17
| | | | | | | | | | | | The hash table needs a copy of the key that it can keep for comparisons during searches. Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41499 Cc: Stéphane Marchesin <[email protected]> Tested-by: Luzipher <[email protected]> Tested-by: Michał Lipski <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* u_blitter: clean up velem setupDave Airlie2011-10-101-16/+8
| | | | | | as per Brian's suggestion, drop the pointless loops. Signed-off-by: Dave Airlie <[email protected]>
* i915g: Update the TODO with another idea.Stéphane Marchesin2011-10-101-0/+2
|
* i915g: Enable instanced drawing.Stéphane Marchesin2011-10-101-1/+1
|
* mesa/st: Check for a NULL _LinkedShader[i] before using it.Stéphane Marchesin2011-10-101-1/+2
| | | | | | The rest of the linker/glsl translation code checks for NULL, so I suppose we should check here too. Fixes crash on exit with i915g instanced drawing. Reviewed-by: Ian Romanick <[email protected]>
* u_blitter: query vertex shader caps instead of geometry for int verticesMarek Olšák2011-10-091-1/+1
|
* r600g: uarl fixes.Dave Airlie2011-10-092-18/+43
| | | | Not 100% sure these are correct yet
* r600g: enable integer shader cap for evergreen.Dave Airlie2011-10-091-0/+3
| | | | | | | Will get to adding r600/r700/cayman support, have it mostly written on another PC. Signed-off-by: Dave Airlie <[email protected]>
* u_blitter: don't create integer vertex elements unless shader supports themDave Airlie2011-10-091-20/+29
| | | | | | | | | Should fix https://bugs.freedesktop.org/show_bug.cgi?id=41613 We don't want to create these vertex elements unless the pipe driver vertex stage can handle integers. Signed-off-by: Dave Airlie <[email protected]>
* st/glx/xlib: Advertise GLX_ARB_create_context(_profile)José Fonseca2011-10-091-0/+2
| | | | They were already implemented, but not advertised.
* nouveau: hide some debugging messages behind environment variableMarcin Slusarz2011-10-095-5/+17
| | | | | They spam console, but are not very useful - hide them behind NOUVEAU_MESA_DEBUG environment variable.
* nv50,nvc0: avoid unnecessary flushesMarcin Slusarz2011-10-094-4/+4
| | | | | Relocations don't consume pushbuffer space, so there is no need to ensure there is any space in pushbuffer.
* nouveau: fix fence hangMarcin Slusarz2011-10-095-14/+28
| | | | | | | | | | | | | | | | | | | | | If there is not enough space in pushbuffer for fence emission (nouveau_fence_emit -> nv50_screen_fence_emit -> MARK_RING), the pushbuffer is flushed, which through flush_notify -> nv50_default_flush_notify -> nouveau_fence_update marks currently emitting fence as flushed. But actual emission is done after this mark. So later when there is a need to wait on this fence and pushbuffer was not flushed in between, fence wait will never finish causing application to hang. To fix this, introduce new fence state between AVAILABLE and EMITTED, set it before emission and handle it everywhere. Additionally obtain fence sequence numbers after possible flush in MARK_RING, because we want to emit fences in correct order. Reviewed-by: Christoph Bumiller <[email protected]> Note: This is a candidate for the 7.11 branch.
* r600g/eg: add integer types supportDave Airlie2011-10-093-10/+66
| | | | | | | | adds handling for int texture/vertices to evergreen. TODO r600/700 support. Signed-off-by: Dave Airlie <[email protected]>
* u_blitter: add integer clear supportDave Airlie2011-10-094-25/+74
| | | | | | | | | | | We need add a new set of fragment shader variants, along with new vertex elements for signed and unsigned clears. The new fragment shader variants are due to the integers values requiring CONSTANT interpolation. The new vertex element descriptions are for passing the clear color as an unsigned or signed integer value. Signed-off-by: Dave Airlie <[email protected]>
* i915g: Remove another TODO item which was done a while ago.Stéphane Marchesin2011-10-081-3/+0
|
* i915g: Remove a TODO item.Stéphane Marchesin2011-10-081-1/+0
|
* i915g: Fix comment.Stéphane Marchesin2011-10-081-1/+1
|
* i915g: Implement vertex textures.Stéphane Marchesin2011-10-084-62/+230
|
* i915g: Silence warning.Stéphane Marchesin2011-10-081-1/+1
|
* i915g: Remove old heuristic flusing remains.Stéphane Marchesin2011-10-081-20/+0
|
* i915g: Cleanup caps code a bit.Stéphane Marchesin2011-10-081-7/+6
|
* pb_bufmgr_cache: flush cache when create_buffer fails and try againMarek Olšák2011-10-081-0/+7
| | | | NOTE: This is a candidate for the stable branches.
* st/mesa: add readpixel integer supportDave Airlie2011-10-081-2/+38
| | | | | | This adds support for readpixels integer paths, it deals with the signed/unsigned crossovers. Signed-off-by: Dave Airlie <[email protected]>
* st/mesa: add support for int type conversionDave Airlie2011-10-081-67/+386
| | | | | | | This adds the various mesa->gallium and gallium->mesa format conversions along with the GL->gallium texture choosers for integers. Signed-off-by: Dave Airlie <[email protected]>
* gallium: add initial pure integer support (v2)Dave Airlie2011-10-0810-20/+579
| | | | | | | | | | | | | | | | | | | | | | | | | This add support for unsigned/signed integer types via adding a 'pure' bit in the format description table. It adds 4 new u_format get/put hooks, for get/put uint and get/put sint so that accessors can get native access to the integer bits. This is used to avoid precision loss via float converting paths. It doesn't add any float fetchers for these types at the moment, GL doesn't require float fetching from these types and I expect we'll introduce a lot of hidden bugs if we start allowing such conversions without an API mandating it. It adds all formats from EXT_texture_integer and EXT_texture_rg. 0 regressions on llvmpipe here with this. (there is some more follow on code in my gallium-int-work branch, bringing softpipe and mesa to a pretty integer clean state) v2: fixup python generator to get signed->unsigned and unsigned->signed fetches working. Signed-off-by: Dave Airlie <[email protected]>
* mesa/texformat: add integer fallbacks to other formatsDave Airlie2011-10-081-73/+131
| | | | | | | | | This fixes up the integer format choosing to pick the closest mesa format then the most likely fallback. (the formatting in this file needs cleaning in another patch). Signed-off-by: Dave Airlie <[email protected]>
* mesa: add packing for int/uintDave Airlie2011-10-082-0/+68
| | | | | | | This just adds a simple packing for GL_UNSIGNED_INT/GL_INT destination formats. This is enough for at least the gallium drivers to pack both unsigned and signed types for read pixels. Signed-off-by: Dave Airlie <[email protected]>
* u_format: add inline helper to find first non void channelDave Airlie2011-10-082-8/+22
| | | | | | | This is used in a few places in drivers as well, also the integer support can use it as well. Signed-off-by: Dave Airlie <[email protected]>
* i965: Fix inconsistent indentation in brw_eu_emit.c.Kenneth Graunke2011-10-071-197/+197
| | | | | | | | | | | | | | Most of these functions used three spaces for the first level of indentation, but four spaces for the next level. One used tabs and then three spaces. Some used 3/4 in a then block but 3/3 in the else block. Normally I try to avoid field days like this, but since the functions were so inconsistent, even internally, it was making it difficult to edit without introducing spurious whitespace changes. So, just get it over with. git diff -b shows 0 lines changed. Signed-off-by: Kenneth Graunke <[email protected]>
* r300g: remove unused r300_resource::tex_offsetMarek Olšák2011-10-085-16/+6
|
* glsl: Remove unused method ir_variable::component_slotsIan Romanick2011-10-072-16/+0
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Silence several 'warning: unused parameter' in _mesa_GetnUniformdvARBIan Romanick2011-10-071-0/+6
| | | | | | | | | This function isn't implemented yet, so none of its parameters are used yet. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Remove unused function _mesa_append_uniformIan Romanick2011-10-072-78/+0
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Simplify calling Driver.ProgramStringNotify after previous refactorsIan Romanick2011-10-072-55/+22
| | | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mesa: Simplify destroy_shader_program_variants_cb after previous refactorsIan Romanick2011-10-071-6/+3
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Simplify validate_shader_program after previous refactorsIan Romanick2011-10-071-11/+6
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Use gl_shader_program::_LinkedShaders instead of FragmentProgramIan Romanick2011-10-0713-34/+36
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Use gl_shader_program::_LinkedShaders instead of GeometryProgramIan Romanick2011-10-079-22/+23
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Use gl_shader_program::_LinkedShaders instead of VertexProgramIan Romanick2011-10-0713-34/+39
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Close Doxygen groupChad Versace2011-10-071-0/+1
| | | | | In dd_function_table, close the Doxygen group beginning with \name Support for multiple T&L engines
* u_blitter: bind a NULL geometry shaderMarek Olšák2011-10-082-1/+32
|
* u_blitter: cleanup checking for and restoring saved statesMarek Olšák2011-10-082-98/+172
|