Stefan Dösinger
51adbf5bbf
wined3d: Remove 24/32 bit hacks.
2007-12-12 13:45:50 +01:00
Marco Schuster
96504632de
wined3d: Fixed a bug that the 8600M GT could not be detected.
2007-12-12 13:45:42 +01:00
Michael Stefaniuc
a526ad6cbc
wined3d: Fix a "ordered comparison of pointer with integer zero".
2007-12-11 14:59:54 +01:00
Stefan Dösinger
7f10ee453a
wined3d: Use the adapter to read the display mode.
2007-12-11 12:14:35 +01:00
Alexander Dorofeyev
1dbc9d50c9
wined3d: Improve thread safety in IWineD3DSurfaceImpl_BltOverride.
2007-12-10 12:36:06 +01:00
Detlef Riekenberg
efb13b28df
Assorted spelling fixes.
2007-12-08 19:55:39 +01:00
Francois Gouget
5f7a9cea38
Assorted spelling fixes.
2007-12-07 16:35:32 +01:00
Stefan Dösinger
f700cbe74b
wined3d: Add an alpha blending test.
2007-12-07 16:26:43 +01:00
Stefan Dösinger
0e8c13e630
wined3d: A more detailed occlusion query test and fixes.
2007-12-07 15:27:11 +01:00
Stefan Dösinger
54fa712981
wined3d: Initialize output texcoord .w to 1.0 if needed.
...
The GL_ARB_vertex_program extension does not define a standard value for
output texture coordinates. This makes problems when using vertex
shaders with fixed function fragment processing because fffp divides the
texture coords by its .w component. This means that gl shaders have to
write to the .w component of texture coords. Direct3D shaders however
do not.
2007-12-07 14:54:22 +01:00
Stefan Dösinger
1cc7530332
wined3d: Ignore unused attributes when generating the swizzle array.
2007-12-06 13:48:59 +01:00
Stefan Dösinger
f4d2449244
wined3d: Test clearing regarding the scissor test and colorwrite.
2007-12-06 13:48:43 +01:00
Gerald Pfeifer
f4ec0a209b
wined3d: Fix error handling in fixed_get_input().
2007-12-05 13:47:10 +01:00
Gerald Pfeifer
81f32c7a38
wined3d: Fix error handling in transform_texture().
2007-12-04 18:41:45 +01:00
Stefan Dösinger
1ac109e5a0
wined3d: Use the proper drawable size when clearing.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
fce9abd095
wined3d: Clear honors the viewport.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
bd10d5261f
wined3d: Fixes for drawable handling in Clear.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
a4461e03f7
wined3d: Disable the scissor test when blitting.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
fcb49934d0
wined3d: Retrieve the height properly when setting the viewport.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
8689fe32c6
wined3d: Use the proper drawable size when setting the scissor rect.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
9bc6200ece
wined3d: Add a method for querying the gl drawable size of rendertarget.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
79e13d17be
wined3d: Add parentheses to a flag check.
2007-12-03 13:44:41 +01:00
Stefan Dösinger
7ba04e6132
wined3d: Detect the Intel GPU in macbooks.
2007-12-03 13:44:31 +01:00
Stefan Dösinger
8804a972d9
wined3d: Unify bpp to format conversion.
2007-12-03 13:44:18 +01:00
Stefan Dösinger
3cc253c557
wined3d: Enabling too many lights is silently ignored.
...
I'm resending this patch because my reply to Henri's concern came too late.
Henri noted that I am enabling lights that do not exist. Existing tests show
that if no light is assigned to the index, LightEnable creates a light with a
set of default parameters, so the tests should be fine.
From 9ee4c61805b50886f79e87d744b52f27b7b00b4e Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan@codeweavers.com>
Date: Thu, 29 Nov 2007 13:22:47 +0100
Subject: [PATCH] WineD3D: Enabling too many lights is silently ignored
This patch adds tests for all d3d versions that show that Windows
pretends that enabling more lights than supported succeeds. D3D_OK is
returned, and the light is reported as enabled.
What is not tested in this patch is the rendering output of this
situation, thus the FIXME is still written.
2007-12-03 13:44:07 +01:00
Stefan Dösinger
0f39b29da0
wined3d: mov to a0.x does a floor(), not a round to nearest.
2007-12-03 13:43:54 +01:00
Gerald Pfeifer
04cb111efc
wined3d: Fix handling of a special case in IWineD3DImpl_FillGLCaps() and adjust type of loop variable.
2007-12-03 13:17:54 +01:00
Stefan Dösinger
94cd8c276a
wined3d: Remove the X channel fixup in render target unlocking.
2007-11-30 14:01:34 +01:00
Marco Schuster
15e1c57141
wined3d: Added a card ID for a 8600 Mobile GT.
2007-11-29 15:31:54 +01:00
Stefan Dösinger
d09cbcec91
wined3d: Activate GL_ARB_texture_rectangle.
2007-11-29 13:36:55 +01:00
Stefan Dösinger
8964336b37
wined3d: Refuse to create a mipmapped conditional np2 texture.
2007-11-29 13:36:47 +01:00
Stefan Dösinger
3fd0916654
wined3d: Make the code aware of GL_ARB_texture_rectangle.
2007-11-29 13:36:37 +01:00
Stefan Dösinger
0cfa7f99e6
wined3d: Add GL_ARB_texture_rectangles to our opengl extensions.
2007-11-29 13:36:16 +01:00
Stefan Dösinger
7925ef35cd
wined3d: Avoid hardcoding GL_TEXTURE_2D.
2007-11-29 13:36:05 +01:00
Stefan Dösinger
4dbee07ff5
wined3d: Disable GL_TEXTURE_2D in the standard blit setup.
2007-11-29 13:35:53 +01:00
Alexandre Julliard
57d1548b51
wined3d: Add printf format checking to the shader_addline function and fix resulting warnings.
2007-11-28 13:40:29 +01:00
Stefan Dösinger
218de935d1
wined3d: Fix a sign mistake in the code creating the sorted attrib.
2007-11-28 13:40:29 +01:00
Stefan Dösinger
a0127f2e1f
wined3d: Allow using a different internal format for fbos.
...
OpenGL drivers do not support some low precision internal formats
like GL_RGB5 for fbo color targets. Direct3D application depend on them,
so provide a fallback format for render targets if the requested format
itself is not supported.
2007-11-28 13:40:29 +01:00
Stefan Dösinger
28170c1440
wined3d: Report some more geforce 7 cards as geforce 7.
2007-11-28 13:40:29 +01:00
Stefan Dösinger
3f32847494
wined3d: Do not try to disable unsupported texture units.
2007-11-28 13:40:28 +01:00
Stefan Dösinger
0353d031bc
wined3d: Add some missing checkGLcall calls.
2007-11-28 13:40:28 +01:00
Stefan Dösinger
c66a3be49b
wined3d: Work around nvidia beta driver bug.
2007-11-28 13:40:28 +01:00
Stefan Dösinger
b91c19af87
wined3d: Inform the texture about filtering changes.
...
The surface_blt_to_drawable function changes the filtering settings of
the texture object, but without informing the container about this
change. This patch makes sure that the basetexture knows about this and
reapplies the changed states to the settings chosen by the app.
2007-11-28 13:40:28 +01:00
Stefan Dösinger
f2c19fbc0b
wined3d: Correctly handle the y offset with offscreen rendering.
...
This fixes a regression introduced with the MAD patch.
2007-11-27 16:02:34 +01:00
Stefan Dösinger
46647e58fa
wined3d: Downgrade an ERR to a WARN.
2007-11-27 16:02:28 +01:00
Stefan Dösinger
ba5c61ba20
wined3d: Fog is applied after sRGB correction.
2007-11-27 16:01:44 +01:00
Stefan Dösinger
d2ac521cd3
wined3d: Make SRGB write correction working with 1.x shaders in arb.
2007-11-27 15:18:36 +01:00
Lauris Kaplinski
49ea085f11
wined3d: Fixed potential reference of freed backBuffer array in IWineD3DDeviceImpl_SetFrontBackBuffers.
2007-11-27 15:18:16 +01:00
Gerald Pfeifer
7670393508
wined3d: Rewrite condition in vshader_program_add_param() to actually distinguish between two cases.
2007-11-26 13:58:13 +01:00
Stefan Dösinger
afb06a1184
wined3d: Bool constants aren't vectors.
2007-11-21 12:18:09 +01:00
Stefan Dösinger
959212304d
wined3d: Track vertex declaration changes on vertex shaders.
...
If an attribute has type D3DDECLTYPE_D3DCOLOR, the red and blue channels
are swizzled in the shader. Since the attribute is stored in the vertex
declaration and not the vertex shader, it can change by setting a new
vertex declaration. If this happens, we have to recompile the shader
with the swizzling of that specific attribute turned on or off.
2007-11-21 12:18:02 +01:00
Stefan Dösinger
cfc5725760
wined3d: Move glsl shader destruction to the glsl shader backend.
2007-11-21 12:06:27 +01:00
Stefan Dösinger
af4edef5e1
wined3d: Move destroying the glsl vshader into a separate function.
2007-11-21 12:06:15 +01:00
Stefan Dösinger
bf03075b5e
wined3d: Do not cap fragment samplers to 8.
2007-11-21 12:06:04 +01:00
Stefan Dösinger
1fc1fe3c6e
wined3d: Use standard wine lists for the resource list.
2007-11-20 13:10:46 +01:00
Stefan Dösinger
7a97d4e2ec
wined3d: Free the shader function when freeing the shader.
2007-11-20 13:02:07 +01:00
Stefan Dösinger
bd97580683
wined3d: Move IUnknown functions to IWineD3DBaseShader.
2007-11-20 12:53:07 +01:00
Stefan Dösinger
c698052b31
wined3d: Destroy GL contexts before changing the screen resolution.
2007-11-16 13:23:15 +01:00
Stefan Dösinger
683c258ff4
wined3d: Remove a hack that slipped in.
2007-11-16 13:23:09 +01:00
Stefan Dösinger
f13bb40671
wined3d: Do not call PreLoad in surface_download_data.
2007-11-16 13:23:02 +01:00
Stefan Dösinger
73d992050f
wined3d: Fix ATI video memory detection typo.
2007-11-14 11:59:28 +01:00
Stefan Dösinger
26f7eae9cf
wined3d: Non power of two texture fixes.
2007-11-14 11:59:21 +01:00
Stefan Dösinger
0334c1760f
wined3d: Apply matrices when switching from transformed vertices to shaders.
2007-11-14 11:59:09 +01:00
Stefan Dösinger
58a761a88b
wined3d: Read the framebuffer size from the surface, not the window.
2007-11-14 11:58:47 +01:00
Stefan Dösinger
e4f8a2da2b
wined3d: Depth stencil fixes.
2007-11-14 11:58:36 +01:00
Stefan Dösinger
9f41a359b6
wined3d: Partially revert "Get rid of the conditionals in shader_glsl".
2007-11-14 11:58:22 +01:00
Stefan Dösinger
ed7e520926
wined3d: Get rid of a few Nvidiaisms in glsl shaders.
2007-11-14 11:51:38 +01:00
Stefan Dösinger
edb78187a9
wined3d: Hardcode local constants into the shader if possible.
2007-11-14 11:51:26 +01:00
Francois Gouget
41643327ee
wined3d: Add trailing '\n's to two shader_addline() calls.
2007-11-13 13:35:55 +01:00
Stefan Dösinger
894a705cc7
wined3d: Load GL_EXT_texture3D from gl 1.2 if the extension is not there.
2007-11-12 14:29:52 +01:00
Stefan Dösinger
c25a792902
wined3d: Mark extensions supported which are included in the gl core.
2007-11-12 14:29:45 +01:00
Stefan Dösinger
0587060a08
wined3d: Load GL functions from core if needed.
2007-11-12 14:28:21 +01:00
Stefan Dösinger
07bbf1899d
wined3d: Extend the gl extension function loading table with ext info.
2007-11-12 14:26:49 +01:00
Stefan Dösinger
1978ef9a75
wined3d: Load extension functions after finding the supported extensions.
2007-11-12 14:26:05 +01:00
Roderick Colenbrander
817b520c3d
wined3d: Prevent unneeded context switches.
2007-11-12 14:13:21 +01:00
Roderick Colenbrander
9b0d661e43
wined3d: Flush GL calls after drawing to the drawable. This fixes apps that use multiple GL contexts.
2007-11-12 14:13:14 +01:00
Francois Gouget
81a5701ca9
Assorted spelling fixes.
2007-11-09 13:07:12 +01:00
Stefan Dösinger
335bd99262
wined3d: Actually store the PS's vertex processing flag.
2007-11-09 12:41:12 +01:00
Roderick Colenbrander
33df806819
wined3d: Make sure the p8 shader is set to 0 after destroying the main render target.
...
This fixes a render target recreation problem in Age of Empires II.
2007-11-09 12:40:44 +01:00
Roderick Colenbrander
b238e39ec8
wined3d: Make sure SFLAG_LOCKED is set at the start of LockRect as various functions called from LockRect depend on it (e.g. LoadTexture if called from LoadLocation).
2007-11-09 12:40:26 +01:00
Stefan Dösinger
d050b4de9e
wined3d: Reinstall the projected texture disabling for generated coords.
2007-11-09 12:35:40 +01:00
Stefan Dösinger
9fb70b99db
wined3d: Load GLSL sampler uniforms at shader link time.
2007-11-09 12:32:11 +01:00
Stefan Dösinger
6fd4f8f699
wined3d: Store integer uniform locations.
2007-11-09 12:32:02 +01:00
Stefan Dösinger
bfec6c352d
wined3d: Store the special uniforms' locations in the linked program.
2007-11-09 12:31:54 +01:00
Stefan Dösinger
cd1812b473
wined3d: Hide NP2 textures support on R500 and earlier cards.
2007-11-09 12:31:44 +01:00
Stefan Dösinger
883915fc72
wined3d: Fix for MacOS'es incomplete glsl uniform truth.
2007-11-09 12:30:30 +01:00
Stefan Dösinger
f79ca75d08
wined3d: Implement a detection for the MacOS OpenGL implementation.
2007-11-09 12:29:55 +01:00
Stefan Dösinger
24ee003bfe
wined3d: Pass surface dirtification to the container.
2007-11-08 12:18:30 +01:00
Stefan Dösinger
98b291192f
wined3d: Get rid of the conditionals in shader_glsl_compare.
2007-11-08 12:17:54 +01:00
Stefan Dösinger
ed937c6ad4
wined3d: Take care for client storage and pbos.
2007-11-08 12:07:30 +01:00
Stefan Dösinger
5ffea6e591
wined3d: Honor the driver's min point size.
2007-11-08 12:05:19 +01:00
Stefan Dösinger
0183f3e305
wined3d: Avoid NOP additions.
2007-11-08 12:03:46 +01:00
Stefan Dösinger
c7c785861a
wined3d: Replace the position fixup mul-add-add with a MAD.
2007-11-08 12:03:39 +01:00
Stefan Dösinger
6209b36acb
wined3d: mov to a0.x does a floor(), not a round to nearest.
2007-11-08 11:55:31 +01:00
Stefan Dösinger
468309e055
wined3d: Get rid of the conditionals in the glsl lit implementation.
2007-11-08 11:55:08 +01:00
Stefan Dösinger
fb0dde7b27
wined3d: Relative addressing offsets are limited to [-64; 63] in arb.
2007-11-08 11:54:43 +01:00
Stefan Dösinger
aafcae4752
wined3d: Remove the conditional from texdepth.
2007-11-08 11:54:28 +01:00
Stefan Dösinger
36330f0542
wined3d: Fix the varying number comparison.
2007-11-08 11:54:13 +01:00
Stefan Dösinger
a34c1f948b
wined3d: Free the backbuffer array.
2007-11-07 12:08:46 +01:00
Stefan Dösinger
1b23dd1ba1
wined3d: Implement the varying map.
2007-11-07 12:08:32 +01:00
Stefan Dösinger
409103f801
wined3d: Install a varying map.
2007-11-07 12:08:24 +01:00
Stefan Dösinger
c2b6cbf014
wined3d: Refuse to create volumes and volume textures if not supported.
2007-11-07 12:07:29 +01:00
Stefan Dösinger
45ebea1f47
wined3d: Set the display mode before creating the context.
2007-11-07 12:07:20 +01:00
Stefan Dösinger
38147d28dd
wined3d: Set the main hwnd before setting up the screen.
2007-11-07 12:07:05 +01:00
Roderick Colenbrander
b3f7a5565a
wined3d: Make sure the format of the render target is P8 too.
2007-11-06 13:57:03 +01:00
Roderick Colenbrander
df892ff67d
wined3d: Rewrite the draw buffer selection code.
...
Before it was done in findContext, before selecting the new context
which is bad (it doesn't always work). The new code works and this
change also fixes some draw buffer regressions that happened during
the surface rewrite from the last couple of days.
2007-11-06 13:56:55 +01:00
Stefan Dösinger
3febe738ab
wined3d: Handle ps 3.0 varyings in a different way.
2007-11-06 13:34:57 +01:00
Stefan Dösinger
654571f2fc
wined3d: Add a max varyings member to the gl info structure.
2007-11-06 13:34:47 +01:00
Stefan Dösinger
0615c8e454
wined3d: Pixel Shader varying indexing.
2007-11-06 13:34:40 +01:00
Stefan Dösinger
9a9dfc76cb
wined3d: Make pixel shader input an array.
2007-11-06 13:34:32 +01:00
Stefan Dösinger
672ed031ce
wined3d: Only glBindAttribLocation used attributes.
2007-11-06 13:34:26 +01:00
Roderick Colenbrander
9f808670ac
wined3d: UnlockRect regression fix.
2007-11-05 14:11:52 +01:00
Roderick Colenbrander
d39abb7667
wined3d: Only use p8 conversion on render targets.
2007-11-05 14:11:44 +01:00
Roderick Colenbrander
1f34016401
wined3d: Fix LockedRect regression.
2007-11-05 13:24:37 +01:00
Roderick Colenbrander
c7683ee4a3
wined3d: Fix glsl detection bug.
2007-11-05 13:24:37 +01:00
Stefan Dösinger
d97e3fd086
wined3d: Move texture->sysmem specific code into its special function.
2007-11-05 13:24:36 +01:00
Stefan Dösinger
4678cd75be
wined3d: Move drawable->sysmem specific code to its special function.
2007-11-05 13:24:36 +01:00
Stefan Dösinger
2d11b509b4
wined3d: Move sysmem->drawable specific blit code out of LoadLocation.
2007-11-05 13:24:36 +01:00
Stefan Dösinger
1367e00750
wined3d: Remove a wrong return.
2007-11-05 13:24:36 +01:00
Stefan Dösinger
7c97b80193
wined3d: Remove an unneeded check.
2007-11-05 13:24:36 +01:00
Gerald Pfeifer
d59ca34794
wined3d: Fix type of loop variable in IWineD3DCubeTextureImpl_Destroy().
2007-11-02 12:36:48 +01:00
Stefan Dösinger
393ed4a070
wined3d: Make resource memory 32 byte aligned.
2007-11-01 12:38:45 +01:00
Stefan Dösinger
4d4fce7e33
wined3d: Disconnect allocatedMemory and Heap allocation.
2007-11-01 12:38:37 +01:00
Stefan Dösinger
f1f84a3615
wined3d: Allocate memory for default pool resources too.
2007-11-01 12:38:25 +01:00
Stefan Dösinger
a175e7b68e
wined3d: Move a part of LockRect to the base class.
2007-11-01 12:38:17 +01:00
Stefan Dösinger
2a09716c75
wined3d: Reenable render target unlocking via textures.
2007-11-01 12:38:02 +01:00
Stefan Dösinger
64929cfb33
wined3d: Move memory allocation into a separate function.
2007-11-01 12:37:51 +01:00
Stefan Dösinger
948292dbc3
wined3d: Move texture -> drawable blits to LoadLocation.
2007-11-01 12:37:43 +01:00
Roderick Colenbrander
59eba5cb41
wined3d: Default to GLSL. This is safe because we now have proper ps2.0/vs2.0 detection.
2007-10-29 13:04:58 +01:00
Roderick Colenbrander
efc18d79af
wined3d: Detect vertex shader 2.0 support using a pixel shader 2.0 limit.
...
Without this vertex shader 3.0 is reported on non-Nvidia cards that
only support vertex shader 2.0. Reporting 3.0 would result in slow
software rendering as it is much more advanced than 2.0.
2007-10-29 13:04:49 +01:00
Roderick Colenbrander
6760ce83a4
wined3d: Fix the amount of texture memory in the debug traces.
2007-10-29 13:04:30 +01:00
Roderick Colenbrander
ac53711902
wined3d: Print the correct pixel/vertex shader version in a debug trace.
2007-10-29 13:04:11 +01:00
Roderick Colenbrander
50ed6f36d2
wined3d: Add proper PS2.0 detection for older cards with GLSL support.
2007-10-29 13:04:04 +01:00
Roderick Colenbrander
465962dae6
wined3d: Use native shader limits instead of the maximum the driver can handle in software.
...
This should prevent software fallbacks and and second it will allow for ps2.0/ps3.0 detection.
2007-10-29 13:03:54 +01:00
Stefan Dösinger
58ed14eb52
wined3d: Honor pbos when downloading a compressed texture.
2007-10-29 12:04:18 +01:00
Stefan Dösinger
f6637cae98
wined3d: Move texture loading to LoadLocation.
2007-10-29 12:04:11 +01:00
Stefan Dösinger
2a85970631
wined3d: Move sysmem->drawable copying to LoadLocation.
2007-10-29 12:04:01 +01:00
Stefan Dösinger
dc1848bd22
wined3d: Add a comment explaining what LoadLocation does.
2007-10-29 12:03:51 +01:00
Stefan Dösinger
34d6b38397
wined3d: Move drawable->sysmem reading to UpdateLocation.
2007-10-29 12:03:44 +01:00
Stefan Dösinger
20f1f50b2a
wined3d: Move regular surface / texture downloading to LoadLocation.
2007-10-26 15:18:15 +02:00
Stefan Dösinger
123744910f
wined3d: Add a method for surface location updates.
2007-10-26 15:17:30 +02:00
Stefan Dösinger
dcff7dc213
wined3d: Begin centralizing surface location management.
2007-10-26 15:17:19 +02:00
Stefan Dösinger
ee32ac575b
wined3d: A point size fix.
2007-10-26 15:17:01 +02:00
Francois Gouget
c4b1195c0c
Assorted spelling fixes.
2007-10-23 18:20:27 +02:00
Stefan Dösinger
8f3accc718
wined3d: Care for the inverted y coords in dsy.
2007-10-22 15:59:04 +02:00
Stefan Dösinger
9694cb2df3
wined3d: Ignore texture transforms when a shader is used, not set.
2007-10-22 15:59:00 +02:00
Stefan Dösinger
0add13759c
wined3d: Create query private data when faking the query.
2007-10-22 15:58:52 +02:00
Roderick Colenbrander
e1a3e9a6ef
wined3d: Rebind the 2D texture corresponding to the p8 surface. In some programs this caused nothing to show up.
2007-10-22 12:37:44 +02:00
Allan Tong
c18fa4df68
wined3d: Fix comment typos in SetMultithreaded.
2007-10-19 12:26:59 +02:00
Allan Tong
ac6f2009f2
wined3d: Fix resource cleanup if CreateCubeTexture fails.
2007-10-19 12:26:56 +02:00
Chris Robinson
eaaa2a82f2
wined3d: Don't report filtering for WINED3DFMT_R32F.
2007-10-15 17:50:47 +02:00
Francois Gouget
7785c93b02
wined3d: Fix the d3dfmt_p8_init_palette() prototype.
2007-10-15 14:04:54 +02:00
Roderick Colenbrander
b4678b7b10
wined3d: Optimize P8 fragment shader.
2007-10-15 11:10:26 +02:00
Roderick Colenbrander
134aa67ec9
wined3d: Use a fragment shader to do P8 palette conversion in hardware.
2007-10-12 11:07:23 +02:00
Roderick Colenbrander
5749dd4051
wined3d: Fix inverse palette lookup for P8 surfaces.
...
The previous method didn't take into account duplicate entries for the same color.
2007-10-12 11:07:07 +02:00
Francois Gouget
fda899a778
Assorted spelling fixes.
2007-10-11 19:52:49 +02:00
Chris Robinson
fc96587b3d
wined3d: Set D3DCAPS2_CANAUTOGENMIPMAP flag when supported.
2007-10-11 16:24:28 +02:00
Roderick Colenbrander
8e64d870b1
wined3d: Merge p8 palette initialization code.
2007-10-10 11:59:51 +02:00
Stefan Dösinger
aec86b4ef9
wined3d: Silently ignore setting the 0 texture on gdi surfaces.
2007-10-10 11:59:18 +02:00
Stefan Dösinger
8fc4e3cec7
wined3d: Clear up in Init3D if something fails.
2007-10-10 11:58:23 +02:00
Andrew Talbot
057a7eba55
wined3d: Fix a memory leak.
2007-10-10 11:57:01 +02:00
Chris Robinson
c4cc337d7a
wined3d: Prevent some console spamming.
2007-10-09 12:34:55 +02:00
Roderick Colenbrander
c2bf124a90
wined3d: Use EXT-versions of glBlend*.
2007-10-09 12:34:49 +02:00
Roderick Colenbrander
3978535ced
wined3d: Remove an unused ChoosePixelFormat line.
2007-10-09 11:39:50 +02:00
Roderick Colenbrander
b6951822c1
wined3d: Make sure we receive a hw accelerated pixel format with OpenGL support.
2007-10-09 11:39:40 +02:00
Stefan Dösinger
3f16f02940
wined3d: Nested loop support.
2007-10-04 12:03:59 +02:00
Stefan Dösinger
3c6d97278f
wined3d: Implement the vFace register.
2007-10-04 12:03:51 +02:00
Roderick Colenbrander
829cafc651
wined3d: Render to the correct hwnd/hdc.
2007-10-04 11:38:49 +02:00
Stefan Dösinger
3d3369a77c
wined3d: d3d ignores the sign of the input value in the log instruction.
2007-10-03 11:03:12 +02:00
Stefan Dösinger
6dc11616d5
wined3d: Take care against overwriting a source register in cmp.
2007-10-03 11:02:56 +02:00
Stefan Dösinger
9c6cdda147
wined3d: Reverse the position fixup if the pshader is reading vpos.
2007-10-03 11:02:48 +02:00
Stefan Dösinger
c5eb531249
wined3d: Bem is an instruction and uses registers.
2007-10-01 13:00:25 +02:00
Stefan Dösinger
822030e329
wined3d: Enable the mNxN implementation for pixel shaders.
2007-10-01 13:00:19 +02:00
Stefan Dösinger
d4019780b5
wined3d: Implement texbeml in arb shaders.
2007-10-01 13:00:12 +02:00
Stefan Dösinger
1c18112339
wined3d: Add proper input register handling to texreg2ar/gb.
2007-10-01 13:00:05 +02:00
Stefan Dösinger
6644704039
wined3d: Add texreg2rgb support to arb shaders.
2007-10-01 12:59:59 +02:00
Roderick Colenbrander
9ad3807c15
wined3d: Only call ENTER_GL for the parts in ActivateContext that actually need it.
2007-10-01 12:35:47 +02:00
Roderick Colenbrander
001f380ac9
wined3d: CreateContext should not be called between ENTER_GL/LEAVE_GL.
2007-10-01 12:35:36 +02:00
Roderick Colenbrander
46f33f4f38
wined3d: CreateFakeGLContxt/ReleaseFakeGLContext doesn't need ENTER_GL/LEAVE_GL and they are making GDI calls.
...
The removal of ENTER_GL from the fake context code, requires the
addition of ENTER_GL/LEAVE_GL to FillGLCaps which was protected by the
fake context code before.
2007-10-01 12:35:01 +02:00
Francois Gouget
b2bc712323
Assorted spelling fixes.
2007-09-27 20:12:53 +02:00
Stefan Dösinger
20872abc9c
wined3d: Add sincos support to arb shaders.
2007-09-27 11:57:41 +02:00
Stefan Dösinger
daf2290ea4
wined3d: Implement the nrm instruction in arb.
2007-09-27 11:57:29 +02:00
Stefan Dösinger
1407bdb2cf
wined3d: Add dp2add support to arb shaders.
2007-09-27 11:57:20 +02:00
Stefan Dösinger
09fa208d7a
wined3d: Add crs and pow instruction support.
2007-09-27 11:57:12 +02:00
Stefan Dösinger
c29112b60a
wined3d: Handle modifiers in cmp.
2007-09-27 11:57:05 +02:00
Stefan Dösinger
84fc6ca390
wined3d: Add modifier handling to cnd in arb.
2007-09-25 11:21:05 +02:00
Stefan Dösinger
c2c7b1df91
wined3d: Implement WINED3DSI_TEXLD_BIAS in arb.
2007-09-25 11:20:58 +02:00
Stefan Dösinger
9531a10897
wined3d: Add support for some unimplemented instructions to arb shaders.
2007-09-25 11:20:51 +02:00
Stefan Dösinger
de534a41a4
wined3d: Improve projected texture handling in arb.
2007-09-25 11:20:42 +02:00
Stefan Dösinger
bf9cc30aac
wined3d: Put V8U8 back into the UNKNOWN format group.
2007-09-25 11:20:33 +02:00
Roderick Colenbrander
243ac3ed75
wined3d: Move video memory tracking to the adapter.
2007-09-24 13:50:43 +02:00
Stefan Dösinger
316095c7a3
wined3d: A0 needs the .x swizzle.
2007-09-24 13:30:42 +02:00
Stefan Dösinger
6313e0ffff
wined3d: SRGB write correction emulation.
2007-09-24 13:30:30 +02:00
Stefan Dösinger
2b2c9199e8
wined3d: Unify pixel format correction.
2007-09-24 13:30:21 +02:00
Stefan Dösinger
1c4a15d2cd
wined3d: Recompile glsl pixelshaders if the sampler format changes.
2007-09-24 13:30:08 +02:00
Stefan Dösinger
10f25e0104
wined3d: Add signed format conversion for glsl.
2007-09-24 13:29:54 +02:00
Roderick Colenbrander
479078a5b3
wined3d: The amount of video memory is set in FillGLCaps unless overridden using a registry option.
2007-09-24 11:59:24 +02:00
Roderick Colenbrander
21a3c1d4be
wined3d: Better video memory reporting.
2007-09-20 15:53:40 +02:00
Stefan Dösinger
e94a21b270
wined3d: Fix a typo in the surface code.
2007-09-20 15:53:28 +02:00
Stefan Dösinger
4c51db896c
wined3d: Check for NULL streams.
2007-09-20 15:53:19 +02:00
Stefan Dösinger
d684c9c1a5
wined3d: Fix a typo in shader_glsl_cross.
2007-09-20 15:52:54 +02:00
Stefan Dösinger
05cef43308
wined3d: Keep the selected stencil setup face set to GL_FRONT.
2007-09-20 15:52:47 +02:00
Stefan Dösinger
145d56847b
wined3d: Disable two sided stencil if it is supported, but not enabled.
2007-09-19 11:40:28 +02:00
Stefan Dösinger
ad3fe8562b
wined3d: Enable the stencil test if two sided stencil is used.
2007-09-19 11:40:19 +02:00
Stefan Dösinger
e62a4b0352
wined3d: Fix a copypaste error.
2007-09-19 11:40:10 +02:00
Stefan Dösinger
703ec4cbc4
wined3d: Set the stencil mask for both faces.
2007-09-19 11:40:02 +02:00
Stefan Dösinger
5a63b79a66
wined3d: Untie culling and offscreen rendering.
2007-09-19 11:39:55 +02:00
Stefan Dösinger
46e2d79508
wined3d: Move the software blitting to the base surface class.
2007-09-18 09:54:49 +02:00
Stefan Dösinger
09b7d3bb44
wined3d: Give GDI surfaces their own release implementation.
2007-09-18 09:54:31 +02:00
Stefan Dösinger
3f0ea3d082
wined3d: Move lastActiveRenderTarget cleanup to the device.
2007-09-18 09:54:23 +02:00
Stefan Dösinger
9701f11850
wined3d: Give GDI surfaces their own GetDC copy.
2007-09-18 09:54:15 +02:00
Stefan Dösinger
5a7756447b
wined3d: Move DIB section creation to the base surface implementation.
2007-09-18 09:54:05 +02:00
Stefan Dösinger
e324da1494
wined3d: Remove a pbo check.
2007-09-18 09:53:50 +02:00
Stefan Dösinger
515ee4e89b
wined3d: Clean up IWineD3DSurface::ReleaseDC.
2007-09-18 09:53:32 +02:00
Stefan Dösinger
511f9dfb2d
wined3d: Clean up SetMem.
2007-09-18 09:34:08 +02:00
Stefan Dösinger
24564915b7
wined3d: Clean up AddDirtyRect.
2007-09-18 09:34:08 +02:00
Stefan Dösinger
e56c6610c6
wined3d: Clean up SetFormatDesc.
2007-09-18 09:34:08 +02:00
Stefan Dösinger
2600041703
wined3d: Clean up SetGLTextureDesc and GetGLDesc.
2007-09-18 09:34:08 +02:00
Stefan Dösinger
9aa5662647
wined3d: Reorder surface impl predeclarations.
2007-09-18 09:34:08 +02:00
Stefan Dösinger
e2944175e5
wined3d: Base surface move, part 2.
2007-09-18 09:34:08 +02:00
Stefan Dösinger
d99143c251
wined3d: Move non-rendering surface specific code to the base class.
2007-09-18 09:34:08 +02:00
Stefan Dösinger
0c91610433
wined3d: Move resource methods to the base surface class.
2007-09-18 09:34:08 +02:00
Stefan Dösinger
8434060b7e
wined3d: Start of some surface cleanup.
...
This patch and the following intend to make the surface code more
manageable and are a preparation to add gl3 support. The code adds a
new IWineD3DBaseSurface surface type, which will contain the
non-rendering management code. IWineD3DSurface and IWineGDISurface
will be derived from IWineD3DBaseSurface, and IWineGL3Surface can be
added later.
2007-09-18 09:34:08 +02:00
Michael Stefaniuc
a5fdea0e6a
janitorial: Remove two fresh redundant NULL checks before HeapFree(). Found by Smatch.
2007-09-17 13:47:49 +02:00
Roderick Colenbrander
2374c456bc
wined3d: Add pbo support for compressed textures.
2007-09-17 12:10:40 +02:00
Roderick Colenbrander
0b0f353b7d
wined3d: Update list of pci ids.
2007-09-17 12:10:33 +02:00
Roderick Colenbrander
f9002c2628
wined3d: Don't create a pbo for system memory surfaces.
2007-09-17 12:10:21 +02:00
Stefan Dösinger
3961491d15
wined3d: Do not invalidate the sysmem copy if a pbo exists.
2007-09-17 12:08:54 +02:00
Stefan Dösinger
f42f228621
wined3d: Do not allocate memory if there's a pbo.
2007-09-17 12:08:47 +02:00
Stefan Dösinger
c5410a6f22
wined3d: Use GL_NV_depth_clamp to implement clipping disable.
2007-09-17 12:08:40 +02:00
Stefan Dösinger
9e340f0fdb
wined3d: Add a fixme for D3DCMP_NOTEQUAL and D3DCMP_EQUAL.
2007-09-17 12:08:28 +02:00
Stefan Dösinger
02114ac21f
wined3d: The D3DSI_COISSUE flag changes the behavior of cnd.
2007-09-14 14:26:26 +02:00
Stefan Dösinger
8273cfdf01
wined3d: Fix texdp3tex in glsl.
2007-09-14 14:26:17 +02:00
Stefan Dösinger
271fb0052f
wined3d: Add support for showing a logo.
2007-09-14 14:26:00 +02:00
Stefan Dösinger
7248354067
wined3d: Pixel shader 1.x constants are clamped to [-1;1].
2007-09-14 14:23:45 +02:00
Stefan Dösinger
c0c2319c7a
wined3d: Implement UpdateTexture for volumes.
2007-09-13 11:38:54 +02:00
Stefan Dösinger
bc69315f78
wined3d: texm3x3(v)spec normalizes the normal vector.
2007-09-13 11:38:46 +02:00
Stefan Dösinger
0af52d2ac4
wined3d: Disable some volume texture formats.
2007-09-13 11:38:38 +02:00
Stefan Dösinger
3b07663b90
wined3d: Convert the colors to the surface format for colorfill.
2007-09-13 11:38:32 +02:00
Roderick Colenbrander
ad692f2a83
wined3d: Add PBO support for dynamically locked surfaces.
2007-09-13 11:00:47 +02:00
Stefan Dösinger
160258b637
wined3d: Implement mipmap auto generation.
2007-09-12 12:10:25 +02:00
Stefan Dösinger
5ab9d85c39
wined3d: Implement texbeml.
2007-09-12 12:10:03 +02:00
Stefan Dösinger
0ed81b20af
wined3d: Emulate D3DFMT_L6V5U5.
2007-09-12 12:09:56 +02:00
Stefan Dösinger
9ef5231566
wined3d: Disable W11V11U10 and A2W10V10U10.
2007-09-12 12:09:40 +02:00
Roderick Colenbrander
12e942b135
wined3d: Move the memory code of LockRect to the end of the function.
...
This is needed for PBOs because for those memory allocation works differently.
2007-09-12 11:20:35 +02:00
Stefan Dösinger
41bf0d48db
wined3d: Fix WINED3DFMT_X8L8V8U8.
2007-09-11 13:48:15 +02:00
Stefan Dösinger
422e0ba1cc
wined3d: texkill ignores the .w only in ps 1.x.
2007-09-11 13:48:08 +02:00
Stefan Dösinger
8656713366
wined3d: Implement texldb.
2007-09-11 13:47:58 +02:00
Stefan Dösinger
a006d2568b
wined3d: Fix texdepth instruction.
2007-09-11 13:47:49 +02:00
Stefan Dösinger
a305af0b30
wined3d: Fix the z range.
2007-09-11 13:47:36 +02:00
Roderick Colenbrander
63c06b4b38
wined3d: Fix ddraw-opengl surface free bug.
2007-09-10 16:47:49 +02:00
Chris Robinson
8d32a490a1
wined3d: Add X4R4G4B4 and A4R4G4B4 to formats allowed in getColorBits.
2007-09-10 16:41:18 +02:00
Louis Lenders
a7558ce756
wined3d: Add WINED3DPRESENT_INTERVAL_ONE flag.
2007-09-10 16:14:11 +02:00
Stefan Dösinger
282696b4f6
wined3d: Supply texture coords even if no texture is bound and pshaders are used.
2007-08-31 19:32:46 +02:00
Stefan Dösinger
75f9bf43be
wined3d: Raise the 1x pixelshader max value to the d3d minimum.
2007-08-31 12:08:58 +02:00
Stefan Dösinger
33ecb1db1a
wined3d: The temp vars are tmp0 and tmp1.
2007-08-31 12:08:57 +02:00
Stefan Dösinger
bb213f67a3
wined3d: Take the format into account when finding the clear value.
2007-08-31 11:25:46 +02:00
Francois Gouget
a116879507
Assorted spelling fixes.
2007-08-30 12:26:02 +02:00
Stefan Dösinger
643d1e8847
wined3d: Tidy up the vbo removal from the strided data.
2007-08-30 11:57:18 +02:00
Stefan Dösinger
a489aa488b
wined3d: Accept rendering to sublevels with backbuffer orm.
2007-08-30 11:57:18 +02:00
Stefan Dösinger
3b822b80fe
wined3d: Reject opengl accelerated blits with system memory surfaces.
2007-08-30 11:57:18 +02:00
Stefan Dösinger
0d749e8e26
wined3d: Clear unused channels on R32F and R16F textures on readback.
2007-08-30 11:57:18 +02:00
Stefan Dösinger
8c9c084004
wined3d: Use 0/0/0 as normal if no normal is supplied.
2007-08-30 11:57:18 +02:00
Roderick Colenbrander
8a7332f60f
wined3d: Fix a hdc check in InitAdapters.
2007-08-29 12:25:25 +02:00
Roderick Colenbrander
9be5a5e9db
wined3d: Ask for enough RGB bits for pbuffers.
2007-08-29 11:58:28 +02:00
Roderick Colenbrander
dc7252a1f8
wined3d: CreateAdditionalSwapChain bugfix.
2007-08-29 11:58:22 +02:00
Chris Robinson
d0a61fd269
wined3d: Don't assume the fake DC is the current DC.
2007-08-28 11:56:10 +02:00
Stefan Dösinger
a8d4779f7f
wined3d: Fix the spot light falloff == 0.0 case.
2007-08-28 11:56:00 +02:00
Stefan Dösinger
36aef3dc54
wined3d: Hold an internal reference on pixel and vertex shaders.
2007-08-28 11:55:53 +02:00
Stefan Dösinger
c52a190a88
wined3d: Read the old streamsource from the correct stateblock.
2007-08-28 11:55:44 +02:00
Stefan Dösinger
4779a27eed
wined3d: Remove the D3DTTFF_PROJECTED handling from drawStridedSlow.
2007-08-28 11:55:33 +02:00
Stefan Dösinger
322b55e29a
wined3d: Fix the half pixel correction.
2007-08-28 11:55:27 +02:00
Stefan Dösinger
fe0f0eb48a
wined3d: Some texture transform fixes.
2007-08-27 18:28:43 +02:00
Stefan Dösinger
a8e21d0692
wined3d: Texture transforms are disabled when drawing rhw vertices.
2007-08-27 18:28:38 +02:00
Stefan Dösinger
2665a8bf79
wined3d: Add some missing vertex state render states.
2007-08-27 18:28:32 +02:00
Stefan Dösinger
9092f557d1
wined3d: Non-primary stateblocks hold an internal reference on indexbuffers.
2007-08-27 18:28:27 +02:00
Stefan Dösinger
d170aabe20
wined3d: Non-primary stateblocks also hold an internal reference to buffers.
2007-08-27 12:00:57 +02:00
Stefan Dösinger
f7530729d5
wined3d: Add the copied light to the right stateblock.
2007-08-27 12:00:49 +02:00
Stefan Dösinger
6ec6c941fa
wined3d: BaseVertexIndex can be negative.
2007-08-27 12:00:42 +02:00
Stefan Dösinger
6857fc6b61
wined3d: Disable specular color when blitting.
2007-08-27 12:00:21 +02:00
Roderick Colenbrander
318f606869
wined3d: Improve pixelformat selection code.
2007-08-27 11:59:07 +02:00
Roderick Colenbrander
3084081519
wined3d: Override backbufferformat in window mode.
2007-08-27 11:59:03 +02:00
Chris Robinson
95b6155408
wined3d: Only use one fake context when building adapter info.
2007-08-27 11:58:03 +02:00
Stefan Dösinger
e184b09a66
wined3d: Fake occlusion queries if the wrong context is active.
2007-08-23 13:34:52 +02:00
Stefan Dösinger
a99907d1d2
wined3d: Deal with multithreading in event queries.
2007-08-23 13:34:17 +02:00
Stefan Dösinger
50c101135c
wined3d: Refuse to ReleaseDC the wrong DC.
2007-08-23 13:34:00 +02:00
Stefan Dösinger
ea283d3cba
wined3d: Refuse to lock locked surfaces.
2007-08-23 13:33:40 +02:00
Stefan Dösinger
98bc83be7c
wined3d: Fall back to drawStridedSlow if fog coords are used.
2007-08-23 13:33:22 +02:00
H. Verbeet
e5e41191b3
wined3d: Attach the correct surface the the fbo.
2007-08-22 12:18:59 +02:00
H. Verbeet
2e2ab3c3cc
wined3d: Restore a line that got lost.
2007-08-22 12:18:59 +02:00
Roderick Colenbrander
3c08b23024
wined3d: Fix a null pointer dereference.
2007-08-21 21:38:57 +02:00
Paul Vriens
ffb1e74eac
wined3d/vertexdeclaration: Return when out of memory (Coverity).
2007-08-21 21:38:52 +02:00
Stefan Dösinger
0dade7207f
wined3d: Implement range based fog and advertize it correctly.
2007-08-21 13:35:57 +02:00
Stefan Dösinger
04d62b4322
wined3d: fogstart == fogend means full fog.
2007-08-21 13:35:48 +02:00
Stefan Dösinger
01c6c982bb
d3d9: Some caps fixes.
2007-08-21 13:35:35 +02:00
Stefan Dösinger
55b63fe095
wined3d: Reinstall the internal reference on vertex buffers.
2007-08-20 22:32:13 +02:00
Stefan Dösinger
a7a0d4dfd1
wined3d: Fix some alpha channels in formats.
2007-08-20 22:32:08 +02:00
Stefan Dösinger
306fcfeee7
wined3d: FIX D3DBLEND_BOTHSRCALPHA and BLEND_BOTHINVSRCALPHA.
2007-08-20 22:32:02 +02:00
Stefan Dösinger
4baee1973c
wined3d: Remove a debug hack.
2007-08-20 22:31:55 +02:00
H. Verbeet
3c609c11e7
wined3d: UBYTE4 data shouldn't be normalized.
2007-08-20 22:24:48 +02:00