summaryrefslogtreecommitdiffstats
path: root/src/mesa/swrast/s_context.c
Commit message (Collapse)AuthorAgeFilesLines
* swrast: use BITFIELD64_BIT() macro to fix MSVC warningsBrian Paul2012-01-121-1/+1
| | | | | | NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
* swrast: s/GLbitfield/GLbitfield64/ for sw_span::arrayAttribsBrian Paul2012-01-071-1/+1
| | | | This is a bitfield of FRAG_BIT_x values so it should be 64-bits now.
* swrast: s/GLint/GLuint/ to silence MSVC signed/unsigned comparison warningBrian Paul2012-01-071-2/+2
|
* swrast: remove calls to _swrast_update_depth/stencil_buffer()Brian Paul2012-01-061-23/+0
| | | | | | | These functions updated the gl_renderbuffer::_DepthBuffer and _StencilBuffer fields. But those fields are no longer used. Reviewed-by: Eric Anholt <eric@anholt.net>
* mesa: move depth/stencil buffer validation to swrastBrian Paul2011-12-131-0/+23
| | | | | | | | | Since gl_framebuffer::_DepthBuffer and _StencilBuffer are only used by swrast, do the validation of those fields in swrast too. The main/depthstencil.[ch] code is no longer used and will be removed next. Reviewed-by: Eric Anholt <eric@anholt.net>
* swrast: remove dead accum buffer context fieldsBrian Paul2011-12-081-5/+1
|
* swrast: update program type assertionBrian Paul2011-11-071-1/+3
| | | | | | | Fixes bogus failed assertion when using NV_fragment_program, such as with demos/fplight.c Note: This is a candidate for the 7.11 branch.
* mesa: add swrast_texture_image::BufferBrian Paul2011-10-231-0/+24
| | | | | | | | | | | | | | | In the past, swrast_texture_image::Data has been overloaded. It could either point to malloc'd memory storing texture data, or it could point to a current mapping of GPU memory. Now, Buffer always points to malloc'd memory (if we're not using GPU memory) and Data always points to mapped memory. The next step would be to rename Data -> Map. This change also involves adding swrast functions for mapping textures and renderbuffers prior to rendering to setup the Data pointer. Plus, corresponding functions to unmap texures and renderbuffers. This is very much like similar code in the dri drivers.
* mesa: Delay s_texcombine.c memory allocation until it's used.Eric Anholt2011-10-011-11/+0
| | | | | | Generally we're using fragment programs in all our drivers, so wasting 4MB for code that's never called is pretty lame. Reduces i965 memory allocation for a short shader program from 21,932,128B to 17,737,816B.
* swrast: always call _swrast_choose_texture_sample_func()Brian Paul2011-09-261-1/+1
| | | | | | _swrast_choose_texture_sample_func() handles null texture object pointers and will return the "null" sampler function which returns (0,0,0,1). This fixes a minor regression from ce82914f5ad4bb9148370826099925590e9798fd
* mesa: Use ColorLogicOpEnabled instead of _LogicOpEnabledIan Romanick2011-09-191-1/+1
| | | | | | | | | | Since GL_EXT_blend_logic_op is removed, _LogicOpEnabled and ColorLogicOpEnabled always have the same value. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Marek Olšák <maraeo@gmail.com>
* mesa: move software texel fetch code into swrastBrian Paul2011-09-171-1/+1
| | | | It's only used by swrast now so move it out of core Mesa.
* mesa: move _mesa_update_fetch_functions() calls into swrastBrian Paul2011-09-171-2/+6
| | | | | | Do it during swrast state validation since the FetchTexel() functions are only called from swrast now and not core Mesa. Remove assertions in mipmap.c since they're no longer appropriate.
* swrast: initialize program native limitsBrian Paul2011-08-311-0/+22
| | | | Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* swrast: Remove swrast eject/validate texture image code.Brian Paul2011-08-241-79/+0
| | | | | | | No driver used the eject function, or set the validate hook that made that function do anything. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* swrast: initial multi-threaded span renderingAndreas Fänger2011-08-111-6/+20
| | | | | | | | Optional parallel rendering of spans using OpenMP. Initial implementation for aa triangles. A new option for scons is also provided to activate the openmp support (off by default). Signed-off-by: Brian Paul <brianp@vmware.com>
* mesa: Remove SWcontext::_FogMode, use gl_context::gl_fog_attrib::Mode everywhereIan Romanick2011-04-251-1/+0
| | | | Reviewed-by: Brian Paul <brianp@vmware.com>
* mesa: gl_fragment_program::FogOption is always GL_NONE so don't check itIan Romanick2011-04-211-11/+4
| | | | | | Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Corbin Simpson <MostAwesomeDude@gmail.com> Acked-by: Alex Deucher <alexdeucher@gmail.com>
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-131-36/+36
|
* mesa: Fix many printf-like warnings.Eric Anholt2010-09-011-1/+1
| | | | | | | | Most of these are just typecasting to long to match the arg type. I don't really care too much about getting a GLsizei or whatever appropriate type in. However, there were a number of real bugs, like missing arguments or passing floats to integer format specifiers. My favorite: printflike("%s, argument") is missing an argument.
* mesa: Remove unnecessary headers.Vinson Lee2010-07-301-1/+0
|
* mesa: rename src/mesa/shader/ to src/mesa/program/Brian Paul2010-06-101-2/+2
|
* swrast: Remove remaining color-index state tracking infrastructureIan Romanick2010-03-031-34/+17
| | | | Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
* swrast: silence double->float assignment warningsBrian Paul2010-01-271-5/+5
| | | | Reported by Karl Schultz.
* mesa: implement per-buffer color maskingBrian Paul2009-12-291-5/+23
| | | | | | | | | | | This is part of the GL_EXT_draw_buffers2 extension and part of GL 3.0. The ctx->Color.ColorMask field is now a 2-D array. Until drivers are modified to support per-buffer color masking, they can just look at the 0th color mask. The new _mesa_ColorMaskIndexed() function will be called by glColorMaskIndexedEXT() or glColorMaski().
* swrast: can't use deferred texture/shading if using KIL instructionBrian Paul2009-08-311-0/+3
| | | | | | If the fragment program uses KIL, we have to execute it before z/stencil testing. Otherwise, deferred texture/shading lets us skip shading for pixels that fail z/stencil testing.
* swrast: fix state validation bug for changing program constantsBrian Paul2009-06-101-0/+1
| | | | | | | Add _NEW_PROGRAM_CONSTANTS to _SWRAST_NEW_DERIVED. This makes sure that we update the fragment shader's constants when state vars (such as point size) changes. Fixes the progs/glsl/points.c demo.
* swrast: simplify state update logic for fragment shader const buffersBrian Paul2009-04-211-25/+2
|
* swrast: fix secondary color add for glBitmapBrian Paul2009-04-061-9/+27
| | | | | Also, clean up the logic involved in choosing per-vertex vs. per-fragment primary+secondary color addition.
* swrast: remove old texture_apply() code; always use texture combine codeBrian Paul2009-04-011-6/+16
|
* swrast: do texture sampling/combining in floating pointBrian Paul2009-04-011-2/+2
| | | | | The code's cleaner and a step toward supporting float-valued texture sampling. Some optimizations for common cases can be added and re-enabled...
* mesa: use Stencil._Enabled field instead of Stencil.EnabledBrian Paul2009-03-021-1/+1
|
* mesa: rename, reorder FRAG_RESULT_x tokensBrian Paul2009-02-281-1/+1
| | | | | | | s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/ s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/ Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it. Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
* Merge branch 'master' into gallium-0.2Keith Whitwell2008-09-211-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: include/GLES/egl.h include/GLES/egltypes.h src/egl/main/eglconfig.c src/egl/main/eglconfig.h src/glu/sgi/libnurbs/interface/bezierEval.h src/glu/sgi/libnurbs/interface/bezierPatch.h src/glu/sgi/libnurbs/interface/bezierPatchMesh.h src/glu/sgi/libnurbs/internals/dataTransform.h src/glu/sgi/libnurbs/internals/displaymode.h src/glu/sgi/libnurbs/internals/sorter.h src/glu/sgi/libnurbs/nurbtess/definitions.h src/glu/sgi/libnurbs/nurbtess/directedLine.h src/glu/sgi/libnurbs/nurbtess/gridWrap.h src/glu/sgi/libnurbs/nurbtess/monoChain.h src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h src/glu/sgi/libnurbs/nurbtess/partitionX.h src/glu/sgi/libnurbs/nurbtess/partitionY.h src/glu/sgi/libnurbs/nurbtess/polyDBG.h src/glu/sgi/libnurbs/nurbtess/polyUtil.h src/glu/sgi/libnurbs/nurbtess/primitiveStream.h src/glu/sgi/libnurbs/nurbtess/quicksort.h src/glu/sgi/libnurbs/nurbtess/rectBlock.h src/glu/sgi/libnurbs/nurbtess/sampleComp.h src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h src/glu/sgi/libnurbs/nurbtess/sampledLine.h src/glu/sgi/libnurbs/nurbtess/searchTree.h src/glu/sgi/libnurbs/nurbtess/zlassert.h src/glu/sgi/libutil/error.c src/glu/sgi/libutil/glue.c src/glu/sgi/libutil/gluint.h src/glu/sgi/libutil/project.c src/glu/sgi/libutil/registry.c src/glx/x11/Makefile src/glx/x11/glxclient.h src/glx/x11/glxext.c src/mesa/drivers/dri/ffb/ffb_dd.h src/mesa/drivers/dri/ffb/ffb_points.h src/mesa/drivers/dri/gamma/gamma_context.h src/mesa/drivers/dri/gamma/gamma_macros.h src/mesa/drivers/dri/i810/i810context.h src/mesa/drivers/dri/r128/r128_dd.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/tdfx/tdfx_dd.h src/mesa/drivers/x11/xm_buffer.c src/mesa/glapi/glapi.c src/mesa/main/dispatch.c src/mesa/main/state.c src/mesa/main/texstate.c src/mesa/shader/arbprogparse.c src/mesa/shader/arbprogram.c src/mesa/shader/nvfragparse.c src/mesa/shader/nvprogram.c src/mesa/shader/shader_api.c src/mesa/sources src/mesa/swrast/s_aaline.c src/mesa/swrast/s_aaline.h src/mesa/swrast/s_aatriangle.h src/mesa/swrast/s_accum.c src/mesa/swrast/s_alpha.h src/mesa/swrast/s_bitmap.c src/mesa/swrast/s_blend.h src/mesa/swrast/s_context.c src/mesa/swrast/s_copypix.c src/mesa/swrast/s_depth.c src/mesa/swrast/s_depth.h src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_drawpix.h src/mesa/swrast/s_feedback.c src/mesa/swrast/s_feedback.h src/mesa/swrast/s_fog.h src/mesa/swrast/s_lines.h src/mesa/swrast/s_logic.h src/mesa/swrast/s_masking.h src/mesa/swrast/s_points.c src/mesa/swrast/s_points.h src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast/s_span.h src/mesa/swrast/s_stencil.h src/mesa/swrast/s_texcombine.c src/mesa/swrast/s_texcombine.h src/mesa/swrast/s_texfilter.c src/mesa/swrast/s_texfilter.h src/mesa/swrast/s_texstore.c src/mesa/swrast/s_triangle.c src/mesa/swrast/s_triangle.h src/mesa/swrast/s_zoom.h src/mesa/swrast_setup/ss_context.c src/mesa/swrast_setup/ss_triangle.h src/mesa/tnl/t_draw.c src/mesa/tnl/t_vb_light.c src/mesa/tnl/t_vertex_generic.c src/mesa/tnl/t_vertex_sse.c src/mesa/tnl/t_vp_build.h src/mesa/tnl/tnl.h src/mesa/x86/common_x86.c
| * mesa: prefix a bunch of #include lines with "main/".Brian Paul2008-09-181-7/+7
| | | | | | | | | | This is another step toward removing a whole bunch of -I flags from the cc commands. Still need to address driver code...
* | Merge branch 'gallium-0.1' into gallium-0.2Keith Whitwell2008-09-111-4/+7
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A first attempt at moving gallium onto a branch directly off master... It will be interesting to see how much work this takes to get running. Have resolved the conflicts semi-arbitarily, not compiled or tested. Conflicts: .gitignore Makefile configs/config.mgw configs/darwin configs/darwin-x86ppc configs/default configs/freebsd-dri configs/linux-dri configs/linux-dri-xcb configs/linux-fbdev configs/linux-static configs/linux-x86-64-static configs/linux-x86-static doxygen/Makefile include/GL/gl.h progs/demos/Makefile progs/demos/descrip.mms progs/demos/texenv.c progs/egl/.gitignore progs/egl/Makefile progs/glsl/.gitignore progs/glsl/Makefile progs/glsl/convolutions.c progs/samples/Makefile.mgw progs/tests/.gitignore progs/trivial/.gitignore progs/trivial/point-param.c progs/trivial/tri.c progs/xdemos/.gitignore progs/xdemos/glthreads.c src/egl/drivers/demo/Makefile src/egl/drivers/dri/Makefile src/egl/main/Makefile src/glu/Makefile src/glu/sgi/Makefile src/glu/sgi/Makefile.mgw src/glut/glx/Makefile.mgw src/glut/os2/WarpWin.cpp src/glut/os2/glut_cindex.cpp src/glut/os2/glut_gamemode.cpp src/glut/os2/glut_win.cpp src/glut/os2/glut_winmisc.cpp src/glut/os2/os2_glx.cpp src/glut/os2/os2_menu.cpp src/glut/os2/os2_winproc.cpp src/glw/Makefile src/glx/x11/dri_glx.c src/glx/x11/glxext.c src/mesa/Makefile src/mesa/Makefile.mgw src/mesa/descrip.mms src/mesa/drivers/beos/Makefile src/mesa/drivers/common/descrip.mms src/mesa/drivers/common/driverfuncs.c src/mesa/drivers/directfb/Makefile src/mesa/drivers/dri/Makefile.template src/mesa/drivers/dri/common/dri_bufmgr.c src/mesa/drivers/dri/common/dri_bufmgr.h src/mesa/drivers/dri/common/dri_util.c src/mesa/drivers/dri/common/extension_helper.h src/mesa/drivers/dri/common/mmio.h src/mesa/drivers/dri/common/utils.c src/mesa/drivers/dri/common/utils.h src/mesa/drivers/dri/glcore/Makefile src/mesa/drivers/dri/i810/i810screen.c src/mesa/drivers/dri/i915/intel_ioctl.c src/mesa/drivers/dri/i915/intel_ioctl.h src/mesa/drivers/dri/i915/intel_screen.c src/mesa/drivers/dri/i915/server/i830_common.h src/mesa/drivers/dri/i915/server/i830_dri.h src/mesa/drivers/dri/i965/intel_screen.c src/mesa/drivers/dri/i965/server/i830_common.h src/mesa/drivers/dri/i965/server/i830_dri.h src/mesa/drivers/dri/mach64/mach64_screen.c src/mesa/drivers/dri/nouveau/nouveau_context.h src/mesa/drivers/dri/nouveau/nouveau_fifo.c src/mesa/drivers/dri/nouveau/nouveau_fifo.h src/mesa/drivers/dri/nouveau/nouveau_screen.c src/mesa/drivers/dri/nouveau/nouveau_screen.h src/mesa/drivers/dri/r128/r128_tex.h src/mesa/drivers/dri/savage/savageioctl.h src/mesa/drivers/fbdev/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/descrip.mms src/mesa/drivers/x11/Makefile src/mesa/drivers/x11/descrip.mms src/mesa/drivers/x11/xm_dd.c src/mesa/glapi/glapi.c src/mesa/glapi/glthread.c src/mesa/main/api_validate.c src/mesa/main/attrib.c src/mesa/main/bufferobj.c src/mesa/main/bufferobj.h src/mesa/main/buffers.c src/mesa/main/config.h src/mesa/main/context.c src/mesa/main/descrip.mms src/mesa/main/drawpix.c src/mesa/main/enums.c src/mesa/main/fbobject.c src/mesa/main/glheader.h src/mesa/main/imports.c src/mesa/main/mipmap.c src/mesa/main/mm.c src/mesa/main/mm.h src/mesa/main/mtypes.h src/mesa/main/points.c src/mesa/main/sources src/mesa/main/state.c src/mesa/main/texcompress_fxt1.c src/mesa/main/texenvprogram.c src/mesa/main/texobj.c src/mesa/main/texstate.c src/mesa/main/texstore.c src/mesa/math/descrip.mms src/mesa/shader/arbprogram.c src/mesa/shader/descrip.mms src/mesa/shader/prog_execute.c src/mesa/shader/prog_statevars.c src/mesa/shader/prog_statevars.h src/mesa/shader/prog_uniform.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/shader_api.c src/mesa/shader/slang/descrip.mms src/mesa/shader/slang/library/slang_vertex_builtin_gc.h src/mesa/sources src/mesa/swrast/descrip.mms src/mesa/swrast/s_drawpix.c src/mesa/swrast/s_fragprog.c src/mesa/swrast/s_readpix.c src/mesa/swrast/s_span.c src/mesa/swrast_setup/descrip.mms src/mesa/tnl/descrip.mms src/mesa/tnl/t_context.h src/mesa/tnl/t_vp_build.c src/mesa/tnl/tnl.h src/mesa/vbo/descrip.mms src/mesa/vbo/vbo_context.c src/mesa/vbo/vbo_exec_array.c src/mesa/x86-64/xform4.S src/mesa/x86/rtasm/x86sse.c src/mesa/x86/rtasm/x86sse.h windows/VC6/progs/glut/glut.dsp windows/VC7/mesa/gdi/gdi.vcproj windows/VC7/mesa/glu/glu.vcproj windows/VC7/mesa/mesa.sln windows/VC7/mesa/mesa/mesa.vcproj windows/VC7/mesa/osmesa/osmesa.vcproj windows/VC7/progs/glut/glut.vcproj windows/VC8/mesa/gdi/gdi.vcproj windows/VC8/mesa/glu/glu.vcproj windows/VC8/mesa/mesa.sln windows/VC8/mesa/mesa/mesa.vcproj windows/VC8/progs/glut/glut.vcproj
| * mesa: Prefix main includes with dir to avoid conflicts.José Fonseca2008-07-241-4/+4
| | | | | | | | | | Some of the headers in src/mesa/main have pretty common names which easily conflict with third-party code, e.g. config.h
| * check for null swrast (pipe work-around)Brian2007-08-161-0/+3
| |
* | mesa: fix a swrast state validation bugBrian Paul2008-08-131-1/+9
| | | | | | | | Fixes progs/glsl/points.c
* | mesa: allocate pixel zoom arrays on heap, not stackBrian Paul2008-06-161-0/+2
| | | | | | | | Fixes stack overflow on Windows.
* | Simplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.Brian2008-01-061-42/+1
| | | | | | | | | | | | | | | | | | | | | | These fields are no longer indexed by shader output. Now, we just have a simple array of renderbuffer pointers. If the shader writes to gl_FragData[i], send those colors to the N _ColorDrawBuffers. Otherwise, replicate the single gl_FragColor (or the fixed-function color) to the N _ColorDrawBuffers. A few more changes and simplifications can follow from this...
* | fix polygon cull regressionBrian2007-12-141-7/+3
| |
* | fix broken two-sided stencilBrian2007-11-301-3/+14
|/
* Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-041-1/+1
| | | | of -I flags.
* rename _swrast_update_fragment_attribs()Brian2007-06-211-3/+4
|
* fix logic for calling _swrast_update_deferred_texture()Brian2007-05-241-7/+5
|
* don't treat FRAG_BIT_WPOS as a generic attribute (fixes depth peel regression)Brian2007-05-221-0/+1
|
* Overhaul/simplify SWvertex and SWspan attribute handling.Brian2007-05-201-36/+78
| | | | | Instead of separate fog/specular/texcoord/varying code, just treat all of them as generic attributes. Simplifies the point/line/triangle functions.
* fix attribsMask (re-fixes depth peeling algorithm)Brian2007-04-251-0/+7
|
* disable some errant codeBrian2007-04-231-0/+2
|