Roderick Colenbrander
ee3bbccf6e
wined3d: Update the Nvidia driver version to 173.41 and also put it in the right format e.g. 7.15.11.7341 instead of 7.15.10.17341.
2008-06-23 12:53:45 +02:00
H. Verbeet
e081d69bc1
wined3d: Report WINED3DFMT_FLAG_FILTERING on WINED3DFMT_D24X8.
...
We report this for WINED3DFMT_D24S8, so there should be no reason
WINED3DFMT_D24X8 can't do it. Fixes a regression in 3DMark06.
2008-06-20 11:20:05 +02:00
H. Verbeet
c835b00a36
wined3d: Handle depth formats like any other format in CheckDeviceFormat.
...
Currently depth formats are handled separately from the other formats,
but depth formats can support things like filtering as well, so we
should check those caps as well.
2008-06-20 11:19:58 +02:00
H. Verbeet
a6fa6a4a31
wined3d: Use gl_Color and gl_SecondaryColor to support more varyings in SM3.0 shaders.
...
SM3.0 requires 10 4 component float varyings for passing stuff between
vertex and pixel shaders. GF7 and earlier report 8 generic varyings +
gl_Color and gl_SecondaryColor in GLSL. This patch allows us to use
gl_Color and gl_SecondaryColor to get 2 extra varyings, which some
games, like C&C3 with highest gfx settings, require.
2008-06-19 11:47:52 +02:00
H. Verbeet
4a4ab5f2ae
wined3d: Add support for ARB_color_buffer_float.
2008-06-19 11:47:34 +02:00
Roderick Colenbrander
88b4f29222
wined3d: Add a Geforce9 driver version (right now garbage is returned).
2008-06-18 15:21:56 +02:00
Stefan Dösinger
535e61892c
wined3d: Only read back offscreen targets on a target change.
...
This avoids calling PreLoad needlessly on a thread change during offscreen
rendering and breaks up the endless recursion due to lastTID != newTID.
2008-06-13 10:15:48 +02:00
Stefan Dösinger
78d963039b
wined3d: Do not PreLoad the new render target.
...
There is no reason to do that, now that the SetGLTextureDesc bug is
fixed. This avoids an infinite recursion because PreLoad calls
ActivateContext at some point.
2008-06-13 10:15:26 +02:00
Stefan Dösinger
6ab3d17104
wined3d: Remove a broken AddDirtyRect call.
2008-06-13 10:15:02 +02:00
Roderick Colenbrander
b73b2eca47
wined3d: Update ATI GPUs.
2008-06-09 12:40:22 +02:00
Roderick Colenbrander
38a98f6789
wined3d: Update nvidia GPUs.
2008-06-09 12:40:10 +02:00
Stefan Dösinger
2173fde722
wined3d: Avoid float->string conversion in arb shaders.
2008-06-06 10:28:24 +02:00
Roderick Colenbrander
0ca7d443ac
wined3d: Add a WineD3D_ChoosePixelFormat line.
2008-06-03 11:17:27 +02:00
Roderick Colenbrander
042d0394dc
wined3d: Add a registry key to allow/disallow multisampling.
...
Right now it is set to disabled due to an Nvidia GLXBadDrawable
bug. Second there is some issue (driver bug too?) in FBO mode.
2008-06-03 11:17:09 +02:00
Stefan Dösinger
cd7825c893
wined3d: Hardcode local constants with glUniform4fvARB.
2008-06-03 11:13:59 +02:00
Stefan Dösinger
e4413f2012
wined3d: Give local constants a shader type prefix.
2008-06-03 11:13:09 +02:00
H. Verbeet
35bdc00479
wined3d: Set the surface location to SFLAG_INSYSMEM for depth stencils on Reset.
2008-06-03 11:11:44 +02:00
H. Verbeet
3687207a04
wined3d: Fix WINED3DTOP_MULTIPLYADD for ATI cards.
2008-06-03 11:11:30 +02:00
H. Verbeet
8e6c7aaf1f
wined3d: Fix the nvrc implementation of WINED3DTOP_MULTIPLYADD and WINED3DTOP_LERP.
2008-05-27 12:04:22 +02:00
H. Verbeet
e891a9938a
wined3d: Add WINED3DTOP_ADDSIGNED2X to debug_d3dtop().
2008-05-27 12:04:11 +02:00
Andrew Talbot
c58e59f40f
wined3d: Remove unneeded "extern" from function definition.
2008-05-22 11:29:05 +02:00
Roderick Colenbrander
bd5c02e245
wined3d: Request a WGL depth stencil capable pixel format by default until we have proper SetDepthStencilSurface support.
2008-05-19 20:20:35 +02:00
Alexander Dorofeyev
2027b0587d
wined3d: Only copy front buffer to screen in gdi RealizePalette.
2008-05-14 21:51:14 +02:00
Alexander Dorofeyev
a25651138a
wined3d: Activate context for the right target in surface_blt_to_drawable.
2008-05-12 13:27:44 +02:00
Alexander Dorofeyev
e1c60caa42
wined3d: glFlush when updating front buffer.
...
Fixes screen not updating or getting updated inconsistently when apps blit to
front buffer or lock it when RenderTargetLockMode=readtex, as happens in e.g.
Red Alert 2 and also in p8_primary_test in ddraw tests.
2008-05-12 13:27:40 +02:00
Andrew Talbot
aeb3ba2869
wined3d: Remove test for value of unsigned variable being less than zero.
2008-05-12 11:42:17 +02:00
Ben Mayhew
a3f503f876
wined3d: Only display Missing vbo streams fixme once.
2008-05-12 11:41:59 +02:00
Alexander Dorofeyev
b8a5742358
wined3d: Set alpha to index even when there is no palette.
...
Fixes a failure in p8_primary_test when running with opengl ddraw renderer.
2008-05-09 11:20:01 +02:00
Alexander Dorofeyev
6d86e7f861
wined3d: Use source colorkey when passed KEYSRC or KEYSRCOVERRIDE.
...
Fixes failure in p8_primary_test when using opengl ddraw renderer.
2008-05-09 11:19:39 +02:00
Francois Gouget
633ee950a1
Assorted spelling fixes.
2008-05-07 12:07:11 +02:00
Francois Gouget
42a61d7ed7
Assorted spelling fixes.
2008-05-06 16:10:20 +02:00
Roderick Colenbrander
7b5561cbb8
wined3d: Allow stencil support when it wasn't requested on broken drivers.
2008-05-05 21:03:39 +02:00
Roderick Colenbrander
e3b662bb20
wined3d: At the start of RemoveContextFromArray numContexts is decreased by 1, the loop which loops through the whole array doesn't take this into account.
...
Discovered by Peter Oberndorfer.
2008-05-05 12:53:52 +02:00
Roderick Colenbrander
cb0f0af131
wined3d: We don't want double buffering in pbuffer mode.
2008-05-01 18:11:26 +02:00
Roderick Colenbrander
96c770d9bf
wined3d: In window mode (!pbuffer) we want both a window drawable format and double buffering.
2008-05-01 18:11:26 +02:00
Roderick Colenbrander
02bab6edbe
wined3d: Fix typo in pixel format trace.
2008-05-01 18:11:26 +02:00
Alexandre Julliard
dad21bbcbf
makefiles: List the static libraries as normal imports instead of extra libs.
2008-04-30 14:23:55 +02:00
Andrew Talbot
0de14c37e5
wined3d: Remove unused variables.
2008-04-30 10:25:47 +02:00
Roderick Colenbrander
628e4eece3
wined3d: Add multisampling support.
2008-04-30 10:23:25 +02:00
Roderick Colenbrander
4428cc32de
wined3d: Fix a few small bugs in WineD3D_ChoosePixelFormat.
2008-04-29 12:47:07 +02:00
Roderick Colenbrander
34d06a5e96
wined3d: Also use WineD3D_ChoosePixelFormat for pbuffers.
2008-04-28 13:27:51 +02:00
Roderick Colenbrander
a38e5a95ef
wined3d: Let WineD3D_ChoosePixelFormat operate on the pixel format database we store at WineD3D startup.
2008-04-28 13:27:51 +02:00
Roderick Colenbrander
31dc00a073
wined3d: Store more information about pixel formats. This is needed for some WineD3D_ChoosePixelFormat restructuring.
2008-04-28 13:27:51 +02:00
Roderick Colenbrander
ec5400b4f8
wined3d: Split WGL pixel format selection code off from CreateContext.
2008-04-28 13:27:51 +02:00
Stefan Dösinger
663bfb773c
wined3d: Remove an unused variable.
2008-04-24 22:10:08 +02:00
Stefan Dösinger
9b25935757
wined3d: Fix DP2ADD in GLSL.
...
DP2ADD returns a scalar, and fglrx (correctly) complains that it can't
assign that to a 3 component vector.
2008-04-24 22:09:47 +02:00
Stefan Dösinger
dc07ddb531
wined3d: Fix the GL_ATI_separate_stencil codepath.
...
glStencilFuncSeparateATI does not take a face argument, instead it
sets the front and back facing functions at once. This means the
renderstate_stencil_twosided helper function is somewhat pointless for
this extension.
2008-04-24 22:09:36 +02:00
Stefan Dösinger
bcb0f7cc22
wined3d: More fglrx spam.
2008-04-24 22:09:21 +02:00
Roderick Colenbrander
f0307d9366
wgl: Add a wine specific WGL extension which allows you to change the pixel format multiple times.
2008-04-24 12:32:38 +02:00
Stefan Dösinger
9ee7e42de8
wined3d: Call activate_dimensions from the atifs code.
2008-04-24 11:54:28 +02:00
Stefan Dösinger
5d49dea373
d3d9: Add a test for NP2 stretchrect.
2008-04-24 11:43:18 +02:00
Stefan Dösinger
1c9f1f8ddd
wined3d: Support framebuffer reading from texture_rectangle sources.
2008-04-24 11:43:18 +02:00
Stefan Dösinger
e3bd5b6dcd
wined3d: Use the shader backend to enable / disable atifs and nvts.
...
The previous logic assumed that if NVTS or ATIFS are available they
will be used. This happens to be true for NVTS, but ATIFS is only used
if neither ARBFP nor GLSL are supported. This breaks fixed function
fragment processing on ATI r300 and newer cards
2008-04-24 11:37:17 +02:00
Austin English
c531e2abdb
Spelling fixes.
2008-04-23 12:31:07 +02:00
Austin English
6e59cd2c34
Spelling fixes.
2008-04-22 12:20:12 +02:00
David Adam
7df193676e
wined3d: Fix a possible null dereference.
2008-04-21 16:54:00 +02:00
Alexander Dorofeyev
35979b920a
wined3d: Prevent console spamming in drawPrimitive.
2008-04-21 14:22:42 +02:00
Alexander Dorofeyev
db36665be5
wined3d: Add missing check for p8 primary in surface_download_data.
2008-04-21 14:22:35 +02:00
Roderick Colenbrander
f2753d7189
wined3d: Add palette re-upload support for cards with hardware palette support.
...
Before it was broken and when it worked it was slow due to unneeded
gpu -> cpu -> gpu copying.
2008-04-21 13:36:19 +02:00
Marcus Meissner
8d8b7ffbc7
wined3d: Handle out of array bounds state.
2008-04-17 11:40:39 +02:00
Jörg Höhle
b36d4a1d51
wined3d: Fix missing break inside switch in SetAutoGenFilterType.
2008-04-14 23:50:13 +02:00
Chris Robinson
fd823fc2d2
wined3d: Check for NULL vertex declarations.
2008-04-09 12:17:35 +02:00
Stefan Dösinger
3e5899b38d
d3d9: Some Windows drivers set undefined attributes to 0.0.
2008-04-09 11:55:22 +02:00
Stefan Dösinger
fb8fde81d1
wined3d: Disable blending when clearing.
2008-04-09 11:53:44 +02:00
Stefan Dösinger
481bcdfe2a
wined3d: Disable MAG filters on formats that do not support them.
2008-04-09 11:53:35 +02:00
Stefan Dösinger
a22203adeb
wined3d: Make the mag filter lookup a separate array.
...
This makes it easier to make this a per texture / per adapter property.
Somewhen we should rename the remaining lookup type in the general
lookup table to wraplookup.
2008-04-09 11:48:30 +02:00
Stefan Dösinger
0cbd08b2b9
wined3d: Disable texture filtering on textures that do not support it.
...
OpenGL always offers filtering on all formats, and if the hardware
doesn't support it the driver falls back to software. Direct3D on the
other hand silently disables filtering, so that's what we should do too.
2008-04-09 11:48:13 +02:00
Stefan Dösinger
4bb54a1ab7
wined3d: Make the min mip lookup type a texture property.
2008-04-09 11:47:58 +02:00
Stefan Dösinger
98b56c3ff0
wined3d: Report D3DUSAGE_QUERY_WRAPANDMIP support.
2008-04-09 11:47:49 +02:00
Stefan Dösinger
67e0943ba3
wined3d: Store the number of aux buffers in the context.
2008-04-09 11:47:24 +02:00
Alexander Dorofeyev
7c8b8e0a93
wined3d: Set isInDraw later in drawPrimitive.
...
This should fix the problem that in LoadLocation SFLAG_INTEXTURE path gl calls
can be made without activating context, due to isInDraw checks.
2008-04-08 13:20:34 +02:00
Stefan Dösinger
df2b1bea63
wined3d: Mark the SYSMEM copy outdated after releasing memory.
...
Strictly speaking this is redundant because the UnLoad before did the
job, but if we mess with the allocated memory we have to tell the
surface about that. Updating INDRAWABLE will automatically mark SYSMEM
outdated.
2008-04-08 11:59:46 +02:00
Stefan Dösinger
0de167db9e
wined3d: Put implicit surfaces into drawable on unload.
...
If we mark the sysmem copy up to date we would have to take care about
allocating it. As explained in the comment, INDRAWABLE is a saner
choice
2008-04-08 11:59:28 +02:00
Rico Schüller
a44da70d63
wined3d: Improve drawStridedInstanced().
2008-04-07 21:20:07 +02:00
Rico Schüller
73d98ccd4e
wined3d: Filter out invalid stuff in SetStreamSourceFreq().
2008-04-07 21:19:57 +02:00
Alexander Dorofeyev
65f9abc88d
wined3d: Move PreLoad to avoid calling it with gl lock held.
2008-04-07 21:18:47 +02:00
Alexander Dorofeyev
7f2257ca55
wined3d: Add device->isInDraw checks in LoadLocation.
...
Prevents calling ActivateContext while holding gl lock, e.g. when preloading
texture in sampler().
2008-04-07 21:18:36 +02:00
Alexander Dorofeyev
71ca80355d
wined3d: move ENTER_GL in IWineD3DDeviceImpl_Init3D.
2008-04-07 21:18:28 +02:00
Alexander Dorofeyev
b949190dcd
wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DOcclusionQueryImpl_Issue.
2008-04-07 21:18:18 +02:00
Alexander Dorofeyev
93fefdf94d
wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DEventQueryImpl_Issue.
2008-04-07 21:18:12 +02:00
Alexander Dorofeyev
84553fd864
wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DEventQueryImpl_GetData.
2008-04-07 21:18:06 +02:00
Alexander Dorofeyev
2711b84601
wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DOcclusionQueryImpl_GetData.
2008-04-07 21:18:00 +02:00
Alexander Dorofeyev
f24289e49a
wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DQueryImpl_Release.
2008-04-07 21:17:55 +02:00
Alexander Dorofeyev
5ccf91b705
wined3d: LEAVE_GL when exiting with error in tesselate_rectpatch.
2008-04-07 21:17:49 +02:00
Alexander Dorofeyev
2157c7d76c
wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_ResourceReleased.
2008-04-07 21:17:37 +02:00
Alexander Dorofeyev
a2017f4f21
wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_ColorFill.
2008-04-07 21:17:31 +02:00
Alexander Dorofeyev
7c261553d0
wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DDeviceImpl_Uninit3D.
2008-04-07 21:17:26 +02:00
Alexander Dorofeyev
29b38bc886
wined3d: Implement CONVERT_RGB32_888 conversion.
2008-04-07 21:17:15 +02:00
Alexander Dorofeyev
2f9e8a901c
wined3d: Don't copy the extra line.
...
biSizeImage has an extra line added to it, and passing it to memcpy can cause a
crash.
2008-04-07 21:17:06 +02:00
Francois Gouget
8a18e0e43a
Assorted spelling fixes.
2008-04-07 13:36:18 +02:00
Roderick Colenbrander
f04d870a8d
wined3d: Remove a PBO when a converted surface is detected.
...
This can happen e.g. when suddenly color keying is activated and at
some stages we don't know if we will need conversion at PBO creation
time.
2008-04-07 12:05:54 +02:00
Roderick Colenbrander
0efefef34b
wined3d: Use the render target its palette when performing a texture copy as the texture doesn't hold one.
2008-04-07 12:05:39 +02:00
Allan Tong
a68637b59b
wined3d: Call ActivateContext before any gl call in IWineD3DSurfaceImpl_Release.
2008-04-04 11:43:50 +02:00
Stefan Dösinger
03bacf7247
wined3d: Advertise shader emulation of bumpmap formats.
2008-04-04 11:05:07 +02:00
Stefan Dösinger
ffbc96b43c
wined3d: Advertize postpixelshader blending for surfaces.
2008-04-04 11:04:58 +02:00
Stefan Dösinger
ddf52dda15
wined3d: Deactivate GL_FRAGMENT_SHADER_ATI before deactivating a context.
...
Mesa has a bug that causes a crash due to a NULL pointer dereference
with the R200 driver when making a context current that has
GL_FRAGMENT_SHADER_ATI enabled. This patch works around this bug by
making sure that GL_FRAGMENT_SHADER_ATI is disabled before deactivating
a context, and reactivates it afterwards. The context manager keeps
GL_ATI_FRAGMENT_SHADER generally enabled, except if the context is in 2D
blit mode.
2008-04-03 12:02:24 +02:00
Stefan Dösinger
20e63160df
wined3d: Initialize some ARB shader output parameters.
2008-04-03 12:01:32 +02:00
Alexander Dorofeyev
d6ba069d9e
wined3d: Improve detection of device palette change.
2008-04-03 11:31:57 +02:00
Alexander Dorofeyev
1c89795438
wined3d: Support index in alpha in BltOverride colorfill codepath.
...
Fixes a failure in ddraw p8_primary_test when running with opengl ddraw renderer.
2008-04-03 11:31:43 +02:00
Alexander Dorofeyev
8ec63a9cf7
wined3d: Remove ENTER_GL/LEAVE_GL in IWineD3DCubeTextureImpl_PreLoad.
2008-04-03 11:31:27 +02:00
Alexander Dorofeyev
9b04822170
wined3d: Remove ENTER_GL/LEAVE_GL in IWineD3DTextureImpl_PreLoad.
2008-04-03 11:31:19 +02:00
Alexander Dorofeyev
b54553a253
wined3d: Avoid calling LoadTexture with gl lock held in IWineD3DSurfaceImpl_PreLoad.
...
Needed to prevent ActivateContext being called while holding gl lock.
2008-04-03 11:31:09 +02:00
Alexander Dorofeyev
1e6f02ed2b
wined3d: Add ENTER_GL/LEAVE_GL in IWineD3DSurfaceImpl_Release.
2008-04-03 11:30:55 +02:00
Alexander Dorofeyev
088c34ec1c
wined3d: Add ENTER_GL/LEAVE_GL in surface_allocate_surface.
2008-04-03 11:30:47 +02:00
Alexander Dorofeyev
d5b400307b
wined3d: Add ENTER_GL/LEAVE_GL in surface_bind_and_dirtify.
2008-04-03 11:30:38 +02:00
Stefan Dösinger
b1d8af7926
wined3d: Update copyright lines.
2008-04-02 20:22:42 +02:00
Stefan Dösinger
bd68237096
wined3d: Implement TSSARGTEMP with register combiners.
2008-04-02 20:07:40 +02:00
Stefan Dösinger
0f1c2370b1
wined3d: Do not report pixel shaders if not supported.
2008-04-02 20:07:30 +02:00
Stefan Dösinger
287f60a2b2
wined3d: Implement D3DTA_TEMP in the GL_ATI_fragment_shader codepath.
2008-04-02 20:07:19 +02:00
Stefan Dösinger
8f9a14e312
wined3d: Prepare the atifs shader generator for temp register support.
2008-04-02 20:07:03 +02:00
Stefan Dösinger
ab86a4e963
wined3d: Catch D3DUSAGE_AUTOGENMIPMAP and D3DUSAGE_RENDERTARGET combos.
2008-04-01 20:31:59 +02:00
Stefan Dösinger
a29a229324
wined3d: Refuse 3D initialization without opengl.
2008-04-01 20:31:44 +02:00
Stefan Dösinger
8673be0bd7
wined3d: Return a fake pixel format if gl is not loaded.
2008-04-01 20:31:37 +02:00
Stefan Dösinger
9e831a8733
wined3d: Create a fake non-gl adapter.
2008-04-01 20:31:30 +02:00
Roderick Colenbrander
4120188f99
wined3d: Request a pixel format with alpha support in case of P8 render targets.
2008-03-31 13:01:24 +02:00
Roderick Colenbrander
76014205de
wined3d: Fix a postpixelshader_blending bug.
2008-03-31 12:14:33 +02:00
Roderick Colenbrander
c0be6047ef
wined3d: Also move the rendertarget capability to the formats table.
2008-03-29 10:31:50 +01:00
Roderick Colenbrander
ef73fe5d47
wined3d: Add a depthstencil flag to the formats table and make use of it in CheckDepthStencilCapability.
2008-03-29 10:31:36 +01:00
Roderick Colenbrander
e1bf1cd640
wined3d: Make the filtering capability of a format a flag in the formats table.
2008-03-29 10:31:18 +01:00
Roderick Colenbrander
69a40127c6
wined3d: Add D3DUSAGE_QUERY_PIXELSHADER_BLENDING to CheckDeviceFormat.
2008-03-28 15:50:36 +01:00
Roderick Colenbrander
4eaa424c79
wined3d: Initial post pixelshader blending support. [attempt 2].
...
For each pixel format we store a flag in the table whether it supports
post pixelshader blending. Before applying blending or during a
context switch we verify that blending is turned off for the
format. In case of R32F this gave a 5-6x performance boost (without
filtering and software conversion).
2008-03-28 15:50:24 +01:00
Stefan Dösinger
1fdc0ee811
wined3d: Remove some debug TRACE stuff.
2008-03-28 14:51:25 +01:00
Stefan Dösinger
f63ce1c489
wined3d: Inherit from the proper state table in atifs.
2008-03-28 14:49:38 +01:00
Stefan Dösinger
f761b90801
wined3d: Free heapMemory, not allocatedMemory when adjusting the surface.
2008-03-27 11:19:05 +01:00
Alexander Dorofeyev
165970992a
wined3d: Make device palettes dynamically allocated.
2008-03-27 11:09:06 +01:00
Stefan Dösinger
39e2cbc5d5
wined3d: Enable D3DFMT_V8U8 with GL_ATI_fragment_shader.
2008-03-25 19:50:55 +01:00
Stefan Dösinger
9b79bc5e31
wined3d: Implement env bump mapping in the atifs ffp replacement.
2008-03-25 19:50:43 +01:00
Stefan Dösinger
4640be8dc8
wined3d: Fragment processing using GL_ATI_fragment_shader.
...
This adds code for handling fixed function fragment processing with the
GL_ATI_fragment_shader extension. This is a sort-of programmable
interface for fragment processing at the level of shader model 1.4 in
d3d. This code is of use on r200, r250 and r280 cards(radeon 8500 to
9200) which do not support GL_ARB_fragment_program, but support pixel
shader 1.4 on Windows. This code is somewhat a counterpart to the
existing fragment processing code using GL_NV_register_combiners and
GL_NV_texture_shader.
2008-03-25 19:50:32 +01:00
Stefan Dösinger
a440051016
wined3d: Add a shader DLL init callback.
2008-03-25 19:49:17 +01:00
Stefan Dösinger
18e16f4e66
wined3d: Add GL_ATI_fragment_shader.
2008-03-25 19:48:35 +01:00
Stefan Dösinger
28fdebe404
wined3d: Alloc / free shader private data and blt stuff in Init3D/Uninit3D.
2008-03-25 19:48:24 +01:00
Stefan Dösinger
ac57b4e2f5
wined3d: Free shader private data on reset.
...
Since the shader backend implementations might track opengl resources in
their private data inform them about reset calls. For example, the atifs
backend keeps track of the replacement shaders, which are lost during an
opengl context recreation.
2008-03-25 19:48:14 +01:00
Stefan Dösinger
ee7e149998
wined3d: Move shader caps setting into the arb and glsl shader backends.
2008-03-25 19:39:23 +01:00
Stefan Dösinger
5ab5202e0f
wined3d: Set shader specific caps in the shader backend.
...
The whole control structures in directx.c get terribly confusing with
the various codepaths for texturing and different shader
implementations. It is also hard to reflect the shader model
decisions this way too. This patch moves the shader specific parts of
the caps code into the shader backend where we can set our caps
dependent of the shader model decisions and without complex caps flag
checks.
2008-03-25 19:39:11 +01:00
Stefan Dösinger
8869c0f147
d3d: De-pointerize the WINED3DCAPS structure.
2008-03-25 19:36:38 +01:00
Stefan Dösinger
6d5f562dcf
wined3d: Move the shader backend selection into a separate function.
2008-03-25 19:36:13 +01:00
Stefan Dösinger
a66fb40d83
wined3d: Move shader generation into the shader backend.
...
Generating the shader ID and parts of the shader prolog and epilog was
done by the common vertexshader.c / pixelshader.c, which is ugly.
This patch doesn't get rid of all the uglyness, somewhen we'll still
have to sort out the relationship of [arb|glsl]_generate_shader and
[arb|glsl]_generate_declarations.
2008-03-25 19:35:58 +01:00
Stefan Dösinger
84258723f9
wined3d: Make the state table a property of the shader backend.
2008-03-25 19:35:32 +01:00
Roderick Colenbrander
eaa1ff0d2c
wined3d: Always report D16 as Windows drivers report it on all cards (likely using emulation).
2008-03-25 16:14:03 +01:00
Alexander Dorofeyev
f2e03d6c3f
wined3d: Don't store primary surface palette in device palettes.
2008-03-25 11:53:55 +01:00
Alexander Dorofeyev
9b913b3b79
wined3d: Don't use device palettes in RealizePalette.
2008-03-25 11:53:47 +01:00
Alexander Dorofeyev
13ce219235
wined3d: Don't use device palettes in GetDC.
2008-03-25 11:53:39 +01:00
Alexander Dorofeyev
85fd313046
wined3d: Don't use device palettes in read_from_framebuffer.
2008-03-25 11:53:24 +01:00
Alexander Dorofeyev
16da594354
wined3d: Fix comment.
2008-03-25 11:53:01 +01:00
Alexander Dorofeyev
3d2bdf52cd
wined3d: Handle zero primitive count.
2008-03-24 20:40:13 +01:00
Roderick Colenbrander
cb9252db36
wined3d: Fix a typo in CheckSrgbWriteCapability. We support both X8R8G8B8 and A8R8G8B8.
2008-03-24 20:39:50 +01:00
Roderick Colenbrander
9123e8f374
wined3d: Add more debug code to CheckDeviceFormat.
2008-03-24 20:39:37 +01:00
Roderick Colenbrander
690f496bd4
wined3d: We want to compare the old and the new format and not the old with the old.
2008-03-24 13:27:14 +01:00
Philip Nilsson
1110f17581
wined3d: Initialize maxAttribs in case it isn't changed by glGetIntegerv.
2008-03-24 13:26:20 +01:00
Roderick Colenbrander
e749825793
wined3d: CheckTextureCapability returns TRUE for V8U8.
2008-03-24 12:08:34 +01:00