summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-03-11mesa: Add gl_MESAFogParamsOptimized for our special pre-computed fog params.Eric Anholt
It would be nice if we handled optimized uniform math like this in some generic way, since people often end up doing uniform expressions in shaders, but for now keep this hard-coded like it was in the texenvprogram code.
2011-03-11mesa: Add a builtin uniform for the ATI_envmap_bumpmap rotation matrix.Eric Anholt
For fixed function fragment processing in GLSL IR, we want to be able to reference this state value. gl_* not explicitly permitted is reserved, so using this variable name internally shouldn't be any issue.
2011-03-11mesa: Move texenvprogram.c to ff_fragment_shader.cpp.Eric Anholt
This file is about to change to generating a shader program instead of a fragment program.
2011-03-11prog_cache: Add some support for shader_programs in prog_cache.Eric Anholt
This is used in the upcoming fixed function shader_program generation, and shader_program and ARB programs are together in this code until both fragment and vertex ff get converted.
2011-03-11mesa: Don't try to remove an internal shader_program from the hash.Eric Anholt
It fails on assertions if the key isn't actually present.
2011-03-11i965: Use ffs() on a 32-bit int value instad of ffsll().Eric Anholt
2011-03-11gallium: remove flags from the flush functionMarek Olšák
The drivers have been changed so that they behave as if all of the flags were set. This is already implicit in most hardware drivers and required for multiple contexts. Some state trackers were also abusing the PIPE_FLUSH_RENDER_CACHE flag to decide whether flush_frontbuffer should be called. New flag ST_FLUSH_FRONT has been added to st_api.h as a replacement.
2011-03-11gallium: remove the geom_flags param from is_format_supportedMarek Olšák
2011-03-11gallium: cleanup fence_signalled and fence_finishMarek Olšák
So that they don't have the driver-specific param and return type.
2011-03-11gallium: kill is_resource_referencedMarek Olšák
Only st/xorg used it and even incorrectly with regards to pipelined transfers.
2011-03-11swrastg: Add __DRI_TEX_BUFFER supportAdam Jackson
Without this, EXT_texture_from_pixmap is trivially broken. With it, it's merely subtly broken. Signed-off-by: Adam Jackson <ajax@redhat.com>
2011-03-11mesa: test against MaxUniformComponents in check_resources()Brian Paul
Since we're compiling/linking GLSL shaders we should check against the shader uniform limits, not the legacy vertex/fragment program parameter limits which are usually lower.
2011-03-11mesa: move location of some geometry program limitsBrian Paul
The gl_program_constants struct is for limits that are applicable to any/all shader stages. Move the geometry shader-only fields into the gl_constants struct. Remove redundant MaxGeometryUniformComponents field too.
2011-03-11mesa: use check_resources() to check program against limitsBrian Paul
Without these checks we could create shaders with more samplers, constants than the driver could handle. Fail linking rather than dying later.
2011-03-11mesa: replace NEED_SECONDARY_COLOR(), RGBA_LOGICOP_ENABLED() with inlinesBrian Paul
and rename them.
2011-03-11mesa: call FLUSH_VERTICES() before deleting shaders, buffers, query objectsBrian Paul
Need to flush rendering (or at least indicate that the rug might be getting pulled out from underneath us) when a shader, buffer object or query object is about to be deleted. Also, this helps to tell the VBO module to unmap its current vertex buffer.
2011-03-11vega: remove unused pipe varBrian Paul
2011-03-11svga: Propagate discard/unsynchronized flags to the host when doing texture ↵José Fonseca
DMAs.
2011-03-11util: Fix typo in u_upload_flush().José Fonseca
upload->offset is how much we used. upload->size is the whole buffer size.
2011-03-11r300g: fix alignement for NPOT values in hyperz setupNicolas Peninguy
With 3 pipes cards we need to align with NPOT values. This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=32945 Signed-off-by: Nicolas Peninguy <nico@lostgeeks.org>
2011-03-11draw: remove unnecessary flushMarek Olšák
2011-03-11st/vega: remove unnecessary flushesMarek Olšák
I don't see a reason we need them.
2011-03-11st/mesa: remove unnecessary flushesMarek Olšák
The framebuffer cache flush should be implicit when calling set_framebuffer_state. There is no need to flush the command stream either.
2011-03-10Revert "gallium/svga: Only upload parts of vertexarrays that are actually used"Thomas Hellstrom
This reverts commit 6d4e337f3890105c7d8a2f132412c137d2570d25. The commit is incorrect. I'll rework it. Revert for now. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-03-10i915g: implement surface clear functions using hw-clearDaniel Vetter
Tested by temporarily using util_clear even when not using the blitter. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: make set_framebuffer_state more robustDaniel Vetter
u_blitter is lazy and doesn't fully clear it's stack-allocated fb. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: implement hw clearDaniel Vetter
Benefits: - spares us a relocation. - needed for zone rendering (if that ever happens). - just awesome. v2: Rename the debug option. Completely disabling the blitter is required for Y tiling to work, so this option will cover other code paths in the future. v3: Implement suggestions by Jakob Bornecrantz. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: blitter handles overlapping blitsDaniel Vetter
No need to assert. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: enable separate depth/stencil clearsDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: streamline derived state updates of the driver pipelineDaniel Vetter
Flushing the batch/hw backend doesn't invalidate the derived state. So kill the unnecessary function calls and add an assert in emit_hardware_state for paranoia. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: don't validate a NULL vboDaniel Vetter
With the new clear code this is possible (if the app call glClear before drawing the first primitive). Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10gallium/util: new polygon stipple utility helperBrian Paul
The polygon stipple fallback does not have to be implemented in the draw module (it doesn't need window coords, etc). Drivers can use this utility and avoid sw vertex fallbacks if pstipple is enabled. Note: this is WIP and not used by any driver yet.
2011-03-10glsl: silence warning in printf() with a castBrian Paul
2011-03-10glx: fix null pointer deref in __glXGenerateError()Brian Paul
The gc var would be NULL if called from line 238. Instead, get the opcode from __glXSetupForCommand(dpy) as done in other places. And remove the unused gc parameter. Fixes a bug reported by "John Doe" on 3/9/2011. NOTE: This is a candidate for the 7.10 branch.
2011-03-10gallium/svga: Only upload parts of vertexarrays that are actually usedThomas Hellstrom
Make sure we only upload parts of vertex arrays that are actually used by a draw command. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-03-10r600: don't close fd on failed loadDave Airlie
This fd gets passed in from outside, closing it causes the X.org server to crap out when the driver doesn't identify the chipset. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-03-09intel: Don't complain when getparam fails due to a missing param.Eric Anholt
This is an expected behavior when we're testing for the presence of new kernel features.
2011-03-09i965: Pack the tracked state atoms into separate arrays for prepare/emit.Chris Wilson
Improves performance of a hacked-up scissor-many (to reuse a small set of scissors instead of blowing out the cache, and then to run 100x more iterations so it actually took some time) by 3.6% +/- 1.2% (n=10)
2011-03-09nv50: add back initialization of redefine_user_bufferChristoph Bumiller
Got lost in f80c03e1875fe96ff2f4c022e3cb76357828140d.
2011-03-09r600g: remove some now unneeded code from r600_bc_vtx_buildChristian König
2011-03-09r600g: R700+ can do more than 8 tex and vtx clause in one CF instChristian König
Reviewed-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-09r600g: split R600 and R700 CF generation for VTX and TEXChristian König
Reviewed-by: Henri Verbeet <hverbeet@gmail.com>
2011-03-09svga: Add a new winsys entry point to query the hw version.José Fonseca
2011-03-09util: Use PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE in pipe_buffer_write.José Fonseca
2011-03-09util: add ensure_sanity checks, fix a bugKeith Whitwell
Add ensure_sanity checks. Fix a bug which caused us to misplace entries adding to a full cache.
2011-03-09util: improve cache collision behaviourKeith Whitwell
Add linear probing on collisions. Expand entry array by a fixed scale (currently 2) to help avoid collisions. Use a LRU approach to ensure that the number of entries stored in the cache doesn't exceed the requested size.
2011-03-09util: Add remove to util_cacheAlex Corscadden
I need to be able to remove entries from util_cache caches. This change enables that functionality.
2011-03-09util: Allow util_draw_texquad to draw quads with non-integer coordinates.Alex Corscadden
2011-03-09wgl: Force framebuffer validation on glViewport.José Fonseca
2011-03-09gallium/svga: Don't replace user vertex buffer with uploaded copyThomas Hellstrom
Do that later on when we set up the hwtnl state instead. This addresses a problem when we drop the uploaded copy due to a vb size change, it will remain referenced in svga->curr.vb[], and the new contents of the vb will never be uploaded. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>