summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2009-08-21radeon: Improve state emit code.Pauli Nieminen
Trying to make understanding code easier with small refactoring and renaming.
2009-08-21softpipe: add missing PIPE_TEXTURE_CUBE case in get_lambda_func()Brian Paul
Fixes progs/demos/cubemap
2009-08-21softpipe: add missing sp_sampler_varient_destroyKeith Whitwell
2009-08-21softpipe: remove redundant comparison, make test easier to understandBrian Paul
2009-08-21softpipe: fix min/mag filter typoBrian Paul
2009-08-21softpipe: fix s/t/p typosBrian Paul
2009-08-21r300: Add debug output to show how much was emited in TryDrawPrims.Pauli Nieminen
2009-08-21softpipe: rework texture sampling codeKeith Whitwell
Split into component pieces, stitch together at runtime using function pointers. Make it possible to utilize the existing fastpaths as image-level filters for generic mip-filtering routines. Remove special case for rectangle filtering, as it can now be handled by the 2d path. As most of the mesa demo texturing was already covered by fast paths, its harder to find examples of speedups, but tunnel gets a boost as mip-nearest filtering is now able to access the img_2d_linear_wrap_POT functions for sampling within a mipmap level.
2009-08-21util: add util_is_power_of_two functionKeith Whitwell
2009-08-21radeon: fix incorrect loop limit (warned by -O3)Brian Paul
2009-08-21glx: initialize some local vars to silence warnings with -O3Brian Paul
2009-08-21st/mesa: flush bitmap cache if Z value changesBrian Paul
When adding a new bitmap to the cache we have to check if the Z value is changing and flush first if it is. This is a modified version of a patch from Justin Dou <justin.dou@intel.com>
2009-08-21r300: Predict emit size for next rendering operation.Pauli Nieminen
We do flush for cmd buffer in case there isn't enough space left for whole rendering operation. This protects dma regions from getting released in middle of state emit. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21r300: Handle possible fall back if space check fails.Pauli Nieminen
2009-08-21r300: Delay allocation of dma regions in TryDrawprims.Pauli Nieminen
This makes it easier to predict size of next rendering operation so we can do early flush.
2009-08-21r300: Clean emit code.Pauli Nieminen
This fixes some state atom check functions from returing wrong emit size. There is emit code cleanup so that emit function selection is done in init time instead of runtime. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21radeon: Port flush preventation code from r200 to r100.Pauli Nieminen
- emit prediction - fixes to emit_sizes for data - clean up of excesive use of radeonEnsureCmdBufferSpace Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21r200: Make swtcl use state size prediction for flush.Pauli Nieminen
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21r200: Remove unnecessery Elts from r200 context.Pauli Nieminen
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21r200: Remove unnecessary calls to rcommonEnsureCmdBufSpace.Pauli Nieminen
Calling EnsureCmdBufSpace is not required because rendering pipeline has to quarentee free space. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21r200: Fix atom->check call to return emit size for atom.Pauli Nieminen
This patch makes render emit size prediction count the corect maximum emit size for state. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21r200: Prevent flush in middle of rendering.Pauli Nieminen
Patch adds prediction functionthat tries to predict emit size to the smallest possible values that is quarenteed to be higher than worst case scenario in rendering pipeline. State emit size prediction code is in place but fix for emit sizes is included in next patch. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21radeon/r200: Add -Wall to default build flags like it is in r300/r600Pauli Nieminen
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21glx: Make drawables persistent untill they are changed by glXMakeCurrentPauli Nieminen
This fixes bug that xdemos/manywin would segfault if it was run with command ./manywin 2. Demo is tring to call glXSwapBuffers while another context was bind using glXMakeCurrent. Fix is simple makes drawable and readable persistent untill they change or context is destroyed. I found a logic error when same dri context is used for multiple drawables which caused readable and drawable to fall out of sync in special case. Fix is simple just updating drawables more often than in original patch. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-21egl: Make _eglChooseDriver return the filename of the driver.Chia-I Wu
The real difference is that the driver suffix is now appended. This also fixes an annoying bug that EGL_DRIVER could not specify the path to a driver because a suffix was always appended. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-21egl: Remove dependency on libX11.Chia-I Wu
libX11 is used to determine the screen number, which is in turned used to determine the DRI driver. However, the sysfs interface for determining the DRI driver is gone, and no working driver depends on this mechanism. Display string parsing is moved to a new function, _eglSplitDisplayString. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-21egl_softpipe: Do not flush unlinked context.Chia-I Wu
An unlinked context is destroyed after _eglMakeCurrent. Flushing such context would cause segfault. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-21egl: Check for null display in handle checking.Chia-I Wu
The display may be NULL when checking a handle. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-21st/egl: Add support for drmModeDirtyFB command if foundJakob Bornecrantz
2009-08-21radeon: Add comment to explain logic for freeing dma buffers.Pauli Nieminen
2009-08-20ARB prog parser: Revert part of previous change to constant parsingIan Romanick
The commit "ARP prog parser: Implement the spec, not what makes sense" broke the parsing of scalar constants. This commit reverts that part of that commit. Now vp_swizzle.c passes.
2009-08-20r600: convert to using common radeon state atomsAlex Deucher
switches more state handling to common code. We need should be more fine grained with the state atoms eventually.
2009-08-20r600: improve state emissionAlex Deucher
Slowing migrating to atom based system like the other radeon drivers.
2009-08-20r600: split state emit into block specific functionsAlex Deucher
We probably want to go finer grained eventually, but this is a good start.
2009-08-20nv50: use VTX_ATTR_nF for constant vtxeltsChristoph Bumiller
2009-08-20nv50: set vertex buffer limitsChristoph Bumiller
2009-08-20nv50: modify vbo format to hw translation, add BGRA swizzleChristoph Bumiller
2009-08-20softpipe: allow the existing sampler routines to be hooked up directlyKeith Whitwell
Let eg. sp_get_samples_rect be hooked directly in as the tgsi sampler routine. Add a field to determine whether this is a vertex or fragment sampling call, and massage parameters to match the tgsi call.
2009-08-20softpipe: fix xpot calculation typo in sp_get_samples_2d_nearest_clamp_POTKeith Whitwell
2009-08-20softpipe: slightly optimized tiling calculationKeith Whitwell
2009-08-20softpipe: fix glitch in texel lookups on fastpathsKeith Whitwell
Fixes two issues - firstly for mipmap levels with one or more dimensions smaller than tilesize, the code was sampling off the edge of the texture (but still within the tile). Secondly, in the linear_mipmap_linear case, both the default code and new fastpath were incorrect. This change fixes the fastpath and adds a comment to the default path, which still needs to be fixed. Basically the issue is that the coordinates in the smaller texture level are/were being computed by just dividing thecoordinates from the larger texture level by two, as in: x0[j] /= 2; y0[j] /= 2; x1[j] /= 2; y1[j] /= 2; The issues with this are signficant. Initially x1 is most often equal to x0+1, but after this, it will likely be equal to x0, so we will not actually be performing the linear blend within the smaller mipmap. The fastpath code avoided this (recalculated x1), but was still using the weighting factors from the larger mipmap level (xw, yw), which were incorrect. Change the fastpath code to do two full, independent linear samples of the two mipmap levels before blending. The default code needs to do the same thing.
2009-08-20tgsi: check for SOA dependencies in SSE and PPC code generatorsBrian Paul
Fall back to interpreter for now. This doesn't happen very often.
2009-08-20tgsi: handle SOA dependencies for MOV/SWZBrian Paul
SOA dependencies can happen when a register is used both as a source and destination and the source is swizzled. For example: MOV T, T.yxwz; would expand into: MOV t0, t1; MOV t1, t0; MOV t2, t3; MOV t3, t2; The second instruction will produce the wrong result since we wrote to t0 in the first instruction. We need to use an intermediate temporary to fix this. This will take more work to fix for all TGSI instructions. This seems to happen with MOV instructions more than anything else so fix that case now and warn on others. Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.
2009-08-20tgsi: added tgsi_full_instruction::Flags fieldBrian Paul
Users of the parser can make use of this.
2009-08-20st/egl: Open the first drm nodeJakob Bornecrantz
At least its better then hardcoded to i915
2009-08-20tgsi: when printing/dumping programs indent loops and conditionalsBrian Paul
2009-08-20tgsi: check for SOA dependencies in SSE and PPC code generatorsBrian Paul
Fall back to interpreter for now. This doesn't happen very often.
2009-08-20tgsi: handle SOA dependencies for MOV/SWZBrian Paul
SOA dependencies can happen when a register is used both as a source and destination and the source is swizzled. For example: MOV T, T.yxwz; would expand into: MOV t0, t1; MOV t1, t0; MOV t2, t3; MOV t3, t2; The second instruction will produce the wrong result since we wrote to t0 in the first instruction. We need to use an intermediate temporary to fix this. This will take more work to fix for all TGSI instructions. This seems to happen with MOV instructions more than anything else so fix that case now and warn on others. Fixes piglit glsl-vs-loop test (when not using SSE). See bug 23317.
2009-08-20tgsi: added tgsi_full_instruction::Flags fieldBrian Paul
Users of the parser can make use of this.
2009-08-20r600: try and get everything in the draw in one IBAlex Deucher
fixes corruption issues with apps like teapot and geartrain.