summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into instanced-arraysMichal Krol2010-01-0514-383/+461
|\ | | | | | | | | | | Conflicts: src/gallium/auxiliary/tgsi/tgsi_dump.c src/gallium/include/pipe/p_shader_tokens.h
| * Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.Michal Krol2010-01-051-1/+1
| | | | | | | | This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.
| * Merge branch 'mesa_7_7_branch'Brian Paul2010-01-048-39/+94
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: docs/relnotes.html src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/r300/r300_cs.h src/mesa/drivers/dri/i965/brw_wm_surface_state.c src/mesa/main/enums.c
| | * svga: Fix debug build crash when rendering to depth/stencil renderbuffer only.Michel Dänzer2010-01-041-1/+2
| | |
| | * svga: Use a shader id as low as possible.José Fonseca2010-01-037-24/+78
| | |
| | * svga: Rename error labels.José Fonseca2010-01-031-14/+14
| | | | | | | | | | | | Make it easier to insert/remove error branches.
| * | svga: Allow to dump an individual command.José Fonseca2009-12-263-340/+363
| | |
| * | gs: fix drivers so they work with geometry shadersZack Rusin2009-12-251-2/+2
| | |
| * | gallium: add geometry shader support to galliumZack Rusin2009-12-251-1/+1
| | |
* | | Add lame support for instanceID to draw module.Michal Krol2009-12-301-0/+1
| | | | | | | | | | | | It's all screaming for integer support -- fake it with float for now.
* | | Implement draw_arrays_instanced() in softpipe.Michal Krol2009-12-291-0/+1
|/ / | | | | | | | | Modify the translate module to respect instance divisors and accept instance id as a parameter to calculate input vertex offset.
* | Merge branch 'gallium-edgeflags'Roland Scheidegger2009-12-224-28/+7
|\ \ | | | | | | | | | | | | Conflicts: src/mesa/state_tracker/st_draw.c
| * | gallium: fix up drivers for edgeflag changesRoland Scheidegger2009-12-194-28/+7
| | | | | | | | | | | | | | | several drivers which chose to ignore edgeflags might require some more work, while edgeflags never worked there they might now crash.
* | | svga: fix typoRoland Scheidegger2009-12-211-1/+1
| | |
* | | Move the remaining format pf_get_* functions to u_format.h.Michal Krol2009-12-172-8/+8
| | | | | | | | | | | | | | | Previously they depended on format blocks, but after removing those they started depending on format encoding.
* | | Merge branch 'master' into pipe-format-simplifyMichal Krol2009-12-1712-737/+1086
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_pipe_aaline.c src/gallium/auxiliary/draw/draw_pipe_pstipple.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/auxiliary/util/u_surface.c src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c src/gallium/drivers/cell/ppu/cell_texture.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/r300/r300_emit.c src/gallium/drivers/r300/r300_texture.c src/gallium/drivers/softpipe/sp_texture.c src/gallium/drivers/softpipe/sp_tile_cache.c src/gallium/drivers/svga/svga_state_vs.c src/gallium/include/pipe/p_format.h src/gallium/state_trackers/dri/dri_drawable.c src/gallium/state_trackers/egl/egl_surface.c src/gallium/state_trackers/python/p_device.i src/gallium/state_trackers/python/st_softpipe_winsys.c src/gallium/state_trackers/vega/api_filters.c src/gallium/state_trackers/vega/image.c src/gallium/state_trackers/vega/mask.c src/gallium/state_trackers/vega/paint.c src/gallium/state_trackers/vega/renderer.c src/gallium/state_trackers/vega/vg_tracker.c src/gallium/state_trackers/xorg/xorg_crtc.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/gallium/state_trackers/xorg/xvmc/surface.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_buffer.c src/gallium/winsys/egl_xlib/sw_winsys.c src/gallium/winsys/g3dvl/xlib/xsp_winsys.c src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c src/gallium/winsys/gdi/gdi_softpipe_winsys.c src/gallium/winsys/xlib/xlib_cell.c src/gallium/winsys/xlib/xlib_llvmpipe.c src/gallium/winsys/xlib/xlib_softpipe.c src/mesa/state_tracker/st_cb_fbo.c src/mesa/state_tracker/st_cb_texture.c src/mesa/state_tracker/st_texture.c
| * \ \ Merge branch 'mesa_7_7_branch'Brian Paul2009-12-114-19/+39
| |\ \ \ | | |/ / | |/| / | | |/ | | | | | | Conflicts: src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/drivers/dri/intel/intel_span.c
| | * svga: Add a missing dependency from the prescale state.José Fonseca2009-12-111-1/+2
| | | | | | | | | | | | | | | | | | Thanks for Keith to finding this. Fixes Jedi Knight 2 menus.
| | * svga: Always pass SVGA3D_SURFACE_HINT_DYNAMIC.José Fonseca2009-12-111-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since we're reusing buffers we're effectively transforming all of them into dynamic buffers. It would be nice to not cache long lived static buffers. But there is no way to detect the long lived from short lived ones yet. A good heuristic would be buffer size.
| | * svga: Keep tight control of texture handle ownership.José Fonseca2009-12-112-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The texture owns the surface handle. All derivatives need to keep a reference to texture. This fixes several assertions failures starting up Jedi Knight 2. Should cause no change for DRM surface sharing -- reference count still done as before there.
| | * svga: Fix mixed signed comparisons.José Fonseca2009-12-111-1/+1
| | |
| * | Merge branch 'gallium-strict-aliasing'Roland Scheidegger2009-12-084-7/+10
| |\ \
| | * | gallium: fix more potential strict aliasing issuesRoland Scheidegger2009-12-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, gcc man page warns that union a_union { int i; double d; }; int f() { double d = 3.0; return ((union a_union *) &d)->i; } "might" not be ok (why not?), even though it doesn't seem to generate any warnings. Hence don't use this and do the extra step to actually use assignment to get the values in/out of the union. This changes parts of 3456f9149b3009fcfce80054759d05883d3c4ee5.
| | * | gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safeRoland Scheidegger2009-12-072-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use pointer to union instead of void pointer. gcc complained a lot, depending what the pointer originally actually was. Looks like it's in fact maybe legal to cast for instance uint pointers to union pointers as long as union contains a uint type, hence use this with some callers, other just use union util_color in the first place.
| | * | svga: fix another pipe_reference strict aliasing violationRoland Scheidegger2009-12-041-1/+2
| | | |
| | * | gallium: fix reference counting functions to be strict-aliasing compliantRoland Scheidegger2009-12-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Historically, parts of mesa code are not strict-aliasing safe, hence -fno-strict-aliasing is needed to compile (this got forgotten for scons builds for gallium, which indeed not only caused compiler warnings but also unexplicable crashes in non-debug builds). However, we should try to eliminate code not complying with strict-aliasing code at least for gallium. Hence change pipe_reference functions to make them strict-aliasing compliant. This adds a bit more complexity (especially for derived classes) but is the right thing to do, and it does in fact fix a segfault.
| * | | svga: Dump SVGA_3D_CMD_BLIT_SURFACE_TO_SCREEN commands.José Fonseca2009-12-052-4/+43
| | | |
| * | | svga: Use _debug_printf, so that output may be dumped in release builds too.José Fonseca2009-12-053-687/+687
| | | | | | | | | | | | | | | | The dump calls should be wrapped in #ifdef DEBUG .. #endif.
| * | | Merge branch 'gallium-noblocks'Roland Scheidegger2009-12-042-21/+18
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/state_trackers/xorg/xorg_exa.c
| | * | | gallium: adapt drivers to interface cleanupsRoland Scheidegger2009-12-022-21/+18
| | | | |
| * | | | Merge branch 'mesa_7_7_branch'Jakob Bornecrantz2009-12-022-0/+290
| |\ \ \ \ | | |_|/ / | |/| | / | | | |/ | | |/|
| | * | svga: Add header files for overlay supportJakob Bornecrantz2009-12-012-0/+290
| | | |
* | | | Move pf_get_bits/size() to u_format auxiliary module.Michal Krol2009-12-031-1/+2
| | | |
* | | | Move pf_is_compressed() to u_format auxiliary module.Michal Krol2009-12-031-2/+3
|/ / /
* | | Merge commit 'origin/tgsi-simplify-ext'Keith Whitwell2009-12-014-129/+129
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/r300/r300_vs.c
| * | | svga: Update text shader header.Michal Krol2009-11-271-1/+1
| | | |
| * | | tgsi: rename fields of tgsi_full_src_register to reduce verbosityKeith Whitwell2009-11-241-34/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
| * | | tgsi: rename fields of tgsi_full_dst_register to reduce verbosityKeith Whitwell2009-11-241-6/+6
| | | | | | | | | | | | | | | | | | | | DstRegister -> Register DstRegisterInd -> Indirect
| * | | tgsi: rename fields of tgsi_full_declaration to reduce verbosityKeith Whitwell2009-11-242-4/+4
| | | | | | | | | | | | | | | | DeclarationRange -> Range
| * | | tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosityKeith Whitwell2009-11-241-55/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
| * | | tgsi: reduce repetition of structure name in its membersKeith Whitwell2009-11-242-36/+36
| | | | | | | | | | | | | | | | | | | | Rename Semantic.SemanticName to Semantic.Name. Similar for SemanticIndex, and the members of the tgsi_version struct.
| * | | gallium: simplify tgsi tokens furtherKeith Whitwell2009-11-241-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop anonymous 'Extended' fields, have every optional token named explicitly in its parent. Eg. there is now an Instruction.Label flag, etc. Drop destination modifiers and other functionality which cannot be generated by tgsi_ureg.c, which is now the primary way of creating shaders. Pull source modifiers into the source register token, drop the second negate flag. The source register token is now full - if we need to expand it, probably best to move all of the modifiers to a new token and have a single flag for it.
* | | | Merge commit 'origin/mesa_7_7_branch'Keith Whitwell2009-12-0116-120/+256
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/svga/svga_screen_texture.c src/gallium/state_trackers/xorg/xorg_composite.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/main/texgetimage.c src/mesa/main/version.h
| * | | svga: Re-add shader dumping.José Fonseca2009-11-271-0/+14
| | | |
| * | | svga: Handle comment tokens when dumping.José Fonseca2009-11-272-1/+12
| | | |
| * | | svga: Use consistent names for public symbol names of shader dumping facilities.José Fonseca2009-11-275-12/+12
| | | |
| * | | svga: Use consistent file names for dumping facilities.José Fonseca2009-11-2710-11/+11
| | | |
| * | | svga: flush our command buffer after the 8th distinct render targetKeith Whitwell2009-11-273-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This helps improve the surface cache behaviour in the face of the large number of single-use render targets generated by EXA and the xorg state tracker. Without this we can reference hundreds of individual render targets from a command buffer, which leaves little scope for sharing or reuse of those targets. Flushing early means we can start reusing textures much sooner. This shouldn't have much effect on normal 3d rendering as it's pretty rare to have a command buffer with >8 different render targets in that world.
| * | | svga: add DEBUG_CACHE optionKeith Whitwell2009-11-278-9/+53
| | | |
| * | | svga: hash the whole key, not just the first four bytesKeith Whitwell2009-11-261-3/+3
| | | |