summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965
AgeCommit message (Collapse)Author
2009-04-27i965: only upload constant buffer data when we actually need the const bufferBrian Paul
Make the use_const_buffer field per-program and only call the code which updates the constant buffer's data if the flag is set. This should undo the perf regression from 20f3497e4b6756e330f7b3f54e8acaa1d6c92052
2009-04-24i965: use drm_intel_gem_bo_map/unmap_gtt() when possible, otherwise ↵Brian Paul
dri_bo_subdata() This wraps up the unfinished business from commit a9a363f8298e9d534e60e3d2869f8677138a1e7e
2009-04-24i965: fix point size issueRoland Scheidegger
need to clamp point size to user set min/max values, even for constant point size. Fixes glean pointAtten test.
2009-04-23i965: revert part of commit 4f4907d69f9020ce17aef21b6431d2dd65e01982Brian Paul
The drm_intel_gem_bo_map_gtt() call that replaced dri_bo_map() is producing errors like: intel_bufmgr_gem.c:689: Error preparing buffer map 39 (vp_const_buffer): Invalid argument . and returning NULL, causing a segfault in the memcpy(). Just reverting until we can get to the root issue...
2009-04-23i965: Support drawing to FBO cube faces other than positive X.Eric Anholt
Also fixes drawing to 3D texture depth levels.
2009-04-23intel: Take advantage of GL_READ_ONLY_ARB to map to GEM bo_map write flag.Eric Anholt
This is a CPU win in general, but in particular reduces the pain of Mesa's calculation of min/max indices in DrawElements (wtf?).
2009-04-22intel: fix max anisotropy supportedRoland Scheidegger
i915 actually supports up to 4 (according to header file - not tested), i965 up to 16 (code already handled this but slightly broken), so don't use 2 for all chips, even though angular dependency is very high.
2009-04-21i965: const correctnessBrian Paul
2009-04-18i965: use region width, height in brw_update_renderbuffer_surface()Brian Paul
Fixes a regression from commit 2c30fd84dfa052949a117c78d932b58c1f88b446 seen with DRI1.
2009-04-17i915: fix broken indirect constant buffer readsBrian Paul
The READ message's msg_control value can be 0 or 1 to indicate that the Oword should be read into the lower or upper half of the target register. It seems that the other half of the register gets clobbered though. So we read into two dest registers then use a MOV to combine the upper/lower halves.
2009-04-17i965: updated CURBE allocation codeBrian Paul
Now that we have real constant buffers, the demands on the CURBE are lessened. When we use real VS/WM constant buffers we only use the CURBE for clip planes.
2009-04-16Merge branch 'register-negate'Brian Paul
2009-04-16intel: Add support for argb1555, argb4444 FBOs and fix rgb565 fbo readpixels.Eric Anholt
Also enable them all regardless of screen bpp, as 32 bpp what I've been testing against, and haven't been able to detect any screen bpp-specific troubles with them.
2009-04-16i965: disable using immediate values for MOV instructionsBrian Paul
For some reason, MOV instructions using immediate src values don't seem to work reliably on the GLSL path. Disable them for now (falling back to const buffer reads). This fixes a bunch of glean glsl1 failures.
2009-04-16i965: minor debug output changesBrian Paul
2009-04-16i965: const buffer debug code (disabled)Brian Paul
2009-04-16i965: implement relative addressing for VS constant buffer readsBrian Paul
A scatter-read should be possible, but we're just using two READs for the time being.
2009-04-16i965: handle address reg in get_dst()Brian Paul
2009-04-16i965: fix const buffer temp register clobberingBrian Paul
Calls to release_tmps() were causing the temps holding constants to get recycled.
2009-04-15i965: Clean up output of WM SS state dump, and add format output.Eric Anholt
2009-04-14mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul
There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
2009-04-14i965: fix VS constant buffer readsBrian Paul
This mostly came down to finding the right MRF incantation in the brw_dp_READ_4_vs() function. Note: this feature is still disabled (but getting close to done).
2009-04-14i965: checkpoint commit: VS constant buffersBrian Paul
Hook up a constant buffer, binding table, etc for the VS unit. This will allow using large constant buffers with vertex shaders. The new code is disabled at this time (use_const_buffer=FALSE).
2009-04-10i965: remove unused varBrian Paul
2009-04-10i965: clean-up in prepare_wm_surfaces()Brian Paul
2009-04-10i965: added null const_buffer pointer check in update_constant_buffer()Brian Paul
2009-04-09i965: re-org of some of the new constant buffer codeBrian Paul
Plus, begin the new code for vertex shader const buffers.
2009-04-09i965: new SURF_INDEX_ macrosBrian Paul
Used to map drawables, textures and constant buffers to surface binding table indexes.
2009-04-09i965: free shader's constant buffer in brwDeleteProgram()Brian Paul
Fixes mem leak observed with texcombine test.
2009-04-08i965: set BRW_MASK_DISABLE flag in "send" instruction in brw_dp_READ_4()Brian Paul
This fixes the random results that were seen when fetching a constant inside an IF/ELSE clause. Disabling the execution mask ensures that all the components of the register are written.
2009-04-08i965: clean-ups, debug code in brw_wm_glsl.cBrian Paul
2009-04-08i965: init current_const[i].index = -1Brian Paul
2009-04-08i965: move the fetch_constants() call before setting conditional mod stateBrian Paul
Before, the instruction's CondUpdate field was mistakenly effecting the constant-fetch operation. Fixes progs/glsl/bump.c demo. But there are some other issues related to condition flags and IF/ELSE that need investigation...
2009-04-06i965: Use GTT maps when available to upload vertex arrays and system VBOs.Eric Anholt
This speeds up OA on my GM45 by 21% (more than the original CPU cost of the upload path). We might still be able to squeeze a few more percent out by avoiding repeatedly mapping/unmapping buffers as we upload elements into them.
2009-04-03i965: remove unused varBrian Paul
2009-04-03i965: more const buffer debug codeBrian Paul
2009-04-03i965: added brw_same_reg()Brian Paul
2009-04-03i965: s/GL_FALSE/BRW_COMPRESSION_NONE/Brian Paul
2009-04-03i965: another checkpoint commit of new constant buffer supportBrian Paul
Everything is in place now for using a true constant buffer for GLSL fragment shaders. Still some bugs to find though.
2009-04-03i965: fix response length param in brw_dp_READ_4()Brian Paul
We were accidentally clobbering the next register.
2009-04-03i965: change args to get_src_reg() to prep for new constant buffer supportBrian Paul
2009-04-03i965: check-point commit of new constant buffer supportBrian Paul
Currently, shader constants are stored in the GRF (loaded from the CURBE prior to shader execution). This severly limits the number of constants and temps that we can support. This new code will support (practically) unlimited size constant buffers and free up registers in the GRF. We allocate a new buffer object for the constants and read them with "Read" messages/instructions. When only a small number of constants are used, we can still use the old method. The code works for fragment shaders only (and is actually disabled) for now. Need to do the same thing for vertex shaders and need to add the necessary code-gen to fetch the constants which are referenced by the shader instructions.
2009-04-03i965: remove unused code for sampling a constant bufferBrian Paul
2009-04-03i965: code to setup a constant buffer samplerBrian Paul
This code won't actually be used and will be removed in a subsequent commit. Just committing for posterity.
2009-04-03i965: do negation and Abs in get_src_reg_imm()Brian Paul
Fixes regression seen with progs/glsl/bump.c
2009-04-03i965: commentsBrian Paul
2009-04-03i965: code to debug/dump instruction immediatesBrian Paul
2009-04-03i965: minor code movement, new commentBrian Paul
2009-04-03i965: added new brw_dp_READ_4() functionBrian Paul
Used to read float[4] vectors from the constant buffer/surface.
2009-04-03i965: new and updated commentsBrian Paul