Age | Commit message (Collapse) | Author |
|
|
|
|
|
This introduces a new way to create or initialize a context:
_mesa_create_context_for_api and
_mesa_initialize_context_for_api
which in addition to the current arguments take an api enum to indicate
which OpenGL API the context should implement. At this point the
API field in GLcontext isn't used anywhere, but later commits will
key certain functionality off of it.
The _mesa_create_context and _mesa_initialize_context functions are
kept in place as wrappers around the *_for_api versions, passing in
API_OPENGL to get the same behavior as before.
|
|
Remove the rgbMode and indexBits parameters from _mesa_create_visual
and _mesa_initialize_visual. These values are now hardcoded to
GL_TRUE and 0.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
|
|
Tests if the current shader/program is valid and that the framebuffer is
complete. To be called by glBegin, glDrawArrays, etc.
|
|
The first time a context is bound to a drawable, the viewport and scissor
bounds are initialized to the buffer's size. This is actually a bit tricky.
A new _mesa_check_init_viewport() function is called in several places
to check if the viewport has been initialized. We also use a new
ctx->ViewportInitialized flag instead of the overloaded
ctx->FirstTimeCurrent flag.
|
|
|
|
Add a new flag mvp_with_dp4 in the context, and use that to switch
both ffvertex.c and programopt.c vertex transformation code to
either DP4 or MUL/MAD implementations.
|
|
|
|
(cherry picked from commit 815cdcfbc0740c66b901361620c88d99541bdad2)
|
|
|
|
|
|
of -I flags.
|
|
|
|
|
|
|
|
|
|
Instructions, InputsRead, OutputsWritten, and Parameters.
Also, added debug functions: _mesa_print_instruction(),
_mesa_print_program_parameters() and revamp _mesa_print_program().
|
|
Main driver impacts:
- new code for creating the Mesa GLframebuffer
- new span/pixel read/write code
Some drivers not yet updated/tested.
|
|
|
|
variable. Without this, GET_CURRENT_CONTEXT would *always* result in a call
to _glapi_get_context (because _glapi_Context is a const pointer to NULL in
TLS builds).
|
|
program is enabled AND the currently bound program is valid.
Check _Enable instead of Enable to prevent things from blowing up
when someone calls glEnable(GL_VERTEX_PROGRAM_ARB) without actually
defining a program.
|
|
by calling _mesa_init_driver_functions() and then plugging in the driver-
specific functions.
In particular, make sure ctx->Driver.NewTextureObject points to the
appropriate driver function so that _all_ texture objects are augmented
with the driver-specific data.
Put in a bunch of assertions in the texture-related driver functions that
texObj->DriverData is valid. Remove old dead code in near future.
|
|
programs are enabled and if they need secondary color input register.
Patch by Karl Rasche, with tweaks by Brian.
|
|
#define MESA_FUNCTION to __FUNCTION__ if MESA_DEBUG is defined.
|
|
|
|
points so that the calling conventions will work correctly with the assembler
stubs with the Open Watcom compiler.
|
|
New macros in context.h for testing state: NEED_SECONDARY_COLOR
and NEED_TWO_SIDED_LIGHTING.
|
|
|
|
|
|
|
|
1. Remove all.h and PC_HEADER junk.
2. Rolled mem.c and mem.h into imports.c and imports.h
3. Include imports.h instead of mem.h
Restore _mesa_create/initialize_context() to be like they were in 4.0.4
New wrappers for a few std C functions: _mesa_atoi(), _mesa_strstr(), etc.
|
|
_mesa_swapbuffers)
|
|
Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
|
|
Added _mesa_printf()
Updated SetDrawBuffer() function in all drivers (ala 4.0.3)
Import 4.0.3/DRI changes.
|
|
|
|
|
|
Some source files updated to call _mesa_debug(), but not finished.
Added __GLimports as a parameter to _mesa_create/init_context() and
updated drivers accordingly.
Fleshed-out more of the __GLimports and __GLexports functionality.
Removed run-time config file support (config.c)
|
|
|
|
|
|
|
|
|
|
|
|
Added context/drawbuffer visual config sanity checking in _mesa_make_current2().
Added some 'const' keywords.
|
|
Modified Files:
Mesa/macos/gli_api/gliapi1.h Mesa/macos/gli_api/gliapi2.h
Mesa/macos/gli_api/gliapiext.h Mesa/macos/src-gli/fxgli.c
Mesa/macos/src-gli/fxgli.h Mesa/macos/src-gli/fxgli2.c
Mesa/macos/src-gli/fxgli_tridebug.c Mesa/src/accum.c
Mesa/src/accum.h Mesa/src/all.h Mesa/src/alpha.c
Mesa/src/alpha.h Mesa/src/attrib.c Mesa/src/attrib.h
Mesa/src/bitmap.c Mesa/src/bitmap.h Mesa/src/blend.c
Mesa/src/blend.h Mesa/src/buffers.c Mesa/src/buffers.h
Mesa/src/clip.c Mesa/src/clip.h Mesa/src/colortab.h
Mesa/src/config.c Mesa/src/context.c Mesa/src/context.h
Mesa/src/convolve.c Mesa/src/convolve.h Mesa/src/copypix.c
Mesa/src/copypix.h Mesa/src/debug.c Mesa/src/depth.c
Mesa/src/depth.h Mesa/src/dlist.c Mesa/src/dlist.h
Mesa/src/drawpix.c Mesa/src/drawpix.h Mesa/src/enable.c
Mesa/src/enable.h Mesa/src/eval.c Mesa/src/eval.h
Mesa/src/extensions.c Mesa/src/extensions.h
Mesa/src/feedback.c Mesa/src/feedback.h Mesa/src/fog.c
Mesa/src/fog.h Mesa/src/get.c Mesa/src/get.h Mesa/src/glapi.c
Mesa/src/glthread.h Mesa/src/highpc.c Mesa/src/hint.h
Mesa/src/histogram.h Mesa/src/image.c Mesa/src/image.h
Mesa/src/imports.c Mesa/src/light.c Mesa/src/light.h
Mesa/src/lines.c Mesa/src/lines.h Mesa/src/logic.c
Mesa/src/logic.h Mesa/src/masking.c Mesa/src/masking.h
Mesa/src/matrix.c Mesa/src/matrix.h Mesa/src/pixel.c
Mesa/src/pixel.h Mesa/src/points.c Mesa/src/points.h
Mesa/src/polygon.c Mesa/src/polygon.h Mesa/src/rastpos.c
Mesa/src/readpix.c Mesa/src/scissor.c Mesa/src/scissor.h
Mesa/src/state.c Mesa/src/state.h Mesa/src/stencil.c
Mesa/src/stencil.h Mesa/src/teximage.c Mesa/src/teximage.h
Mesa/src/texobj.c Mesa/src/texobj.h Mesa/src/texstate.c
Mesa/src/texstate.h Mesa/src/texture.c Mesa/src/texture.h
Mesa/src/texutil.c Mesa/src/texutil.h Mesa/src/varray.c
Mesa/src/varray.h Mesa/src/X/fakeglx.c Mesa/src/X/xm_api.c
Mesa/src/X/xm_dd.c Mesa/src/X/xm_line.c Mesa/src/X/xm_span.c
Mesa/src/X/xm_tri.c Mesa/src/swrast/s_aaline.c
Mesa/src/swrast/s_aaline.h Mesa/src/swrast/s_aatriangle.h
Mesa/src/swrast/s_accum.h Mesa/src/swrast/s_alpha.h
Mesa/src/swrast/s_alphabuf.h Mesa/src/swrast/s_blend.h
Mesa/src/swrast/s_context.c Mesa/src/swrast/s_context.h
Mesa/src/swrast/s_depth.h Mesa/src/swrast/s_drawpix.h
Mesa/src/swrast/s_feedback.h Mesa/src/swrast/s_fog.h
Mesa/src/swrast/s_histogram.h Mesa/src/swrast/s_lines.h
Mesa/src/swrast/s_logic.h Mesa/src/swrast/s_masking.h
Mesa/src/swrast/s_pb.h Mesa/src/swrast/s_pixeltex.h
Mesa/src/swrast/s_points.h Mesa/src/swrast/s_quads.c
Mesa/src/swrast/s_quads.h Mesa/src/swrast/s_scissor.h
Mesa/src/swrast/s_span.h Mesa/src/swrast/s_stencil.h
Mesa/src/swrast/s_texture.h Mesa/src/swrast/s_triangle.h
Mesa/src/swrast/s_zoom.h Mesa/src/swrast/swrast.h
Mesa/src/swrast_setup/ss_context.h
Mesa/src/swrast_setup/ss_triangle.c
Mesa/src/swrast_setup/ss_triangle.h
Mesa/src/swrast_setup/ss_vb.h Mesa/src/tnl/t_clip.c
Mesa/src/tnl/t_clip.h Mesa/src/tnl/t_context.c
Mesa/src/tnl/t_context.h Mesa/src/tnl/t_cva.c
Mesa/src/tnl/t_cva.h Mesa/src/tnl/t_debug.c
Mesa/src/tnl/t_debug.h Mesa/src/tnl/t_dlist.h
Mesa/src/tnl/t_eval.c Mesa/src/tnl/t_eval.h
Mesa/src/tnl/t_fog.c Mesa/src/tnl/t_fog.h
Mesa/src/tnl/t_light.c Mesa/src/tnl/t_light.h
Mesa/src/tnl/t_pipeline.c Mesa/src/tnl/t_pipeline.h
Mesa/src/tnl/t_shade.c Mesa/src/tnl/t_shade.h
Mesa/src/tnl/t_stages.c Mesa/src/tnl/t_stages.h
Mesa/src/tnl/t_texture.c Mesa/src/tnl/t_texture.h
Mesa/src/tnl/t_trans_elt.c Mesa/src/tnl/t_trans_elt.h
Mesa/src/tnl/t_varray.c Mesa/src/tnl/t_varray.h
Mesa/src/tnl/t_vb.c Mesa/src/tnl/t_vb.h
Mesa/src/tnl/t_vbcull.c Mesa/src/tnl/t_vbcull.h
Mesa/src/tnl/t_vbfill.c Mesa/src/tnl/t_vbfill.h
Mesa/src/tnl/t_vbindirect.c Mesa/src/tnl/t_vbindirect.h
Mesa/src/tnl/t_vbrender.c Mesa/src/tnl/t_vbrender.h
Mesa/src/tnl/t_vbxform.c Mesa/src/tnl/t_vbxform.h
Mesa/src/tnl/tnl.h
Added Files:
Mesa/src/mtypes.h
Removed Files:
Mesa/src/types.h
Changed Mesa/src/types to Mesa/src/mtypes.h to avoid conflicts while
compiling on a VMS system.
----------------------------------------------------------------------
|
|
math: Provides basic matrix and vector functionality that
might be useful to multiple software t&l
implementations, and is used by core mesa to
manage the Model, Project, etc matrices.
tnl: The real transform & lighting code from core mesa,
including everything from glVertex3f through vertex
buffer handling, transformation, clipping, lighting
and handoff to a driver for rasterization.
The interfaces of these can be further tightened up, but the basic
splitting up of state and code move is done.
|
|
Some header file re-org:
Move matrix, vertex buffer structs to types.h to fix #include mess.
Remove typedef, extern declarations from config.h
|
|
Renamed struct gl_context to struct __GLcontextRec.
Include glcore.h, setup GL imports/exports.
Replaced gl_ prefix with _mesa_ prefix in context.[ch] functions.
GLcontext's Visual field is no longer a pointer.
|
|
|