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
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
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
Roderick Colenbrander
ad692f2a83
wined3d: Add PBO support for dynamically locked surfaces.
2007-09-13 11:00:47 +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
422e0ba1cc
wined3d: texkill ignores the .w only in ps 1.x.
2007-09-11 13:48:08 +02:00
Stefan Dösinger
a006d2568b
wined3d: Fix texdepth instruction.
2007-09-11 13:47:49 +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
6ec6c941fa
wined3d: BaseVertexIndex can be negative.
2007-08-27 12:00:42 +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
98bc83be7c
wined3d: Fall back to drawStridedSlow if fog coords are used.
2007-08-23 13:33:22 +02:00
Stefan Dösinger
86b991c851
wined3d: Fix R32F and R16F.
2007-08-17 12:01:38 +02:00
Stefan Dösinger
b728ff0f55
wined3d: Simplify IWineD3DBaseTextureImpl_ApplyStateChanges.
2007-08-17 12:01:38 +02:00
Stefan Dösinger
028729d102
wined3d: Fix WINED3DFMT_A4L4.
2007-08-16 11:35:06 +02:00
Stefan Dösinger
b21c785482
wined3d: Optimize float constants in stateblocks.
2007-08-15 09:36:07 +02:00
Stefan Dösinger
59fb2928b8
wined3d: Optimize sampler states in stateblocks.
2007-08-15 09:35:49 +02:00
Stefan Dösinger
6e7a10f550
wined3d: Fix a field in the wined3d header.
2007-08-15 09:35:39 +02:00
Stefan Dösinger
03ffb73450
wined3d: Optimize texture stage state applying.
2007-08-14 12:29:04 +02:00
Stefan Dösinger
865b82af2c
wined3d: Optimize bool and int pixel shader constants.
2007-08-14 12:28:59 +02:00
Stefan Dösinger
4673b1c68e
wined3d: Optimize bool and int vs constants.
2007-08-14 12:28:52 +02:00
Stefan Dösinger
92ce028a0b
wined3d: Optimize transform state in stateblocks.
2007-08-14 12:28:40 +02:00
Roderick Colenbrander
6b177c44e1
wined3d: Pass the proper DeviceName to ChangeDisplaySettings.
2007-08-14 12:28:28 +02:00
Roderick Colenbrander
d391c11d43
wined3d: Proper CheckDeviceType / CheckDepthStencilMatch support.
2007-08-13 13:02:46 +02:00
Roderick Colenbrander
5754726aeb
wined3d: Use the proper depth stencil format.
2007-08-13 12:36:55 +02:00
Stefan Dösinger
93155ea087
wined3d: Optimize render states in the stateblock.
2007-08-13 11:37:25 +02:00
Stefan Dösinger
e7cbb340dc
wined3d: Remove stateblock::set.*.
2007-08-13 11:36:43 +02:00
Roderick Colenbrander
4647cbb625
wined3d: Better pixelformat selection code.
2007-08-09 14:11:19 +02:00
Roderick Colenbrander
ac3927a73e
wined3d: Move over to WGL.
2007-08-08 15:32:01 +02:00
Roderick Colenbrander
58275065a1
wined3d: Prepare pbuffer code for WGL transition.
2007-08-08 15:32:01 +02:00
Stefan Dösinger
b8dd5839ef
wined3d: Store the position_transformed flag in the vdecl.
2007-08-08 15:32:00 +02:00
Stefan Dösinger
06e51c21e1
wined3d: Determine used streams at vdecl creation.
2007-08-08 15:32:00 +02:00
Roderick Colenbrander
f3af04a8be
wined3d: Use UINT instead of uint.
2007-08-07 12:36:37 +02:00
H. Verbeet
82245cb5d7
wined3d: Properly load FLOAT16_2 and FLOAT16_4 vertex data.
2007-08-02 12:18:41 +02:00
Stefan Dösinger
d2016ff892
wined3d: Store the gl format table in the gl info structure.
2007-07-30 12:49:50 +02:00
Stefan Dösinger
a0131a3272
wined3d: Split up the format table.
2007-07-30 12:49:39 +02:00
H. Verbeet
d7c7cbf6b6
wined3d: Fix the stretch_rect_fbo() declaration to match the implementation.
2007-07-25 13:02:53 +02:00
H. Verbeet
35aa2ce9f2
wined3d: Correctly handle normalized vertex declaration data types.
2007-07-23 11:59:01 +02:00
H. Verbeet
cb4c9b6208
wined3d: Fix STATE_IS_ACTIVELIGHT.
2007-07-16 14:53:42 +02:00
Stefan Dösinger
fdadf26c20
wined3d: Add CTXUSAGE_CLEAR context usage.
2007-07-10 13:30:51 +02:00
Stefan Dösinger
26ebe396c3
wined3d: Implement high order patches.
2007-07-06 19:32:47 +02:00
Stefan Dösinger
b462ff0876
wined3d: Create multiple contexts for onscreen render targets.
2007-07-03 12:32:33 +02:00
Stefan Dösinger
13f24c3808
wined3d: Select onscreen contexts based on the thread id.
2007-07-03 12:30:33 +02:00
Stefan Dösinger
a1f83aae8e
wined3d: rsq and rcp use the .w component if no swizzle is given.
2007-07-03 12:29:34 +02:00
H. Verbeet
860aa6993b
wined3d: Get rid of the oneToOneTexUnitMap field.
2007-06-29 13:42:26 +02:00
H. Verbeet
1d4042cee1
wined3d: Implement texldl.
2007-06-28 11:01:15 +02:00
H. Verbeet
5b7758f80c
wined3d: Increase the sizes of texturing related arrays, in order to support vertex textures.
2007-06-26 11:57:17 +02:00
H. Verbeet
b1579b37ea
wined3d: Keep track of what fixed function texture stages are in use.
2007-06-25 11:43:05 +02:00
H. Verbeet
b928cadde8
wined3d: Keep track of what stage a texturing unit is mapped to.
2007-06-25 11:42:54 +02:00
Stefan Dösinger
2f4b9e42bc
wined3d: Move material applying to the state table.
2007-06-25 11:35:59 +02:00
Stefan Dösinger
b081cbaf40
wined3d: Emulate tracking of multiple material properties.
2007-06-21 13:09:30 +02:00
Stefan Dösinger
030b92a2f6
wined3d: Remove the FVF codepath from drawprim.
2007-06-21 13:09:08 +02:00
Stefan Dösinger
6e5a5d2736
wined3d: DDraw surfaces are QWORD aligned.
2007-06-14 13:22:52 +02:00
Stefan Dösinger
c9b8a79e0b
wined3d: Implement vertical refresh sync.
2007-06-14 13:21:54 +02:00
H. Verbeet
b9d5c18062
wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap() when activating the context.
2007-06-13 11:23:18 +02:00
Stefan Dösinger
efbdd515f8
wined3d: Find possible fbconfis on dll load time, use them in CheckDepthStencilMatch.
2007-06-11 13:53:38 +02:00
Stefan Dösinger
66930554d1
wined3d: Store the adapter driver and description in the adapter.
2007-06-11 13:52:32 +02:00
Stefan Dösinger
a460a2df43
wined3d: Store the gl information in a per adapter structure and initialize it only once.
2007-06-11 13:51:06 +02:00
Phil Costin
622f62d352
wined3d: Enable the loading and reloading of gamma corrected textures.
2007-06-07 13:02:04 +02:00
Phil Costin
08ae3d6f67
wined3d: Extend the D3DFMT table to include gamma corrected formats.
2007-06-07 13:01:36 +02:00
Andrew Riedi
a9c2e15cf6
wined3d: Add hardware cursor support.
2007-05-16 14:27:39 +02:00
H. Verbeet
c3c5724789
wined3d: WINED3DSIO_POW should use the absolute value of the first source register.
2007-05-11 13:24:15 +02:00
H. Verbeet
d7596086bc
wined3d: Trace the VBO and stream number as well in drawPrimitiveTraceDataLocations.
2007-05-10 12:24:59 +02:00
Stefan Dösinger
d08585e6ec
wined3d: Manage private data in a wine linked list.
2007-05-10 12:10:20 +02:00
Stefan Dösinger
81504d6a2d
wined3d: Support bump environment mapping using GL_NV_texture_shader.
2007-05-10 11:40:27 +02:00
Stefan Dösinger
d93e161b1f
d3d: Move clippers from DDraw to wined3d.
2007-05-08 18:27:44 +02:00
H. Verbeet
5d00923017
wined3d: Remove some redundant fields from IWineD3DBaseTextureImpl.
2007-05-04 13:41:45 +02:00
H. Verbeet
d9b7369255
wined3d: Flip the coordinate system rather than the coordinates itself for onscreen surfaces in stretch_rect_fbo.
2007-05-04 13:40:28 +02:00
Stefan Dösinger
adb9b13b81
wined3d: Implement vertex blending using GL_ARB_vertex_blend.
2007-05-03 14:24:46 +02:00
Stefan Dösinger
61d1abb1c1
wined3d: Do not allocate surfaces unless needed.
2007-04-26 14:51:56 +02:00
H. Verbeet
b643ab3620
wined3d: Output pretty GL errors in checkGLcall and vcheckGLcall.
2007-04-24 10:19:51 +02:00
Fabian Bieler
e28630bc32
wined3d: Remove usesFog flag from IWineD3DVertexShaderImpl.
2007-04-23 13:55:45 +02:00
H. Verbeet
1b9a5ba682
wined3d: Add a function to determine if a surface is the front or the backbuffer for a swapchain, and return the corresponding GLenum.
2007-04-17 11:12:34 +02:00
H. Verbeet
c4cc10a595
wined3d: Add a function for dumping FBO status codes.
2007-04-17 11:11:31 +02:00
Stefan Dösinger
725057da47
d3d: Remove dependency on ddraw.h header.
2007-04-16 13:20:15 +02:00
H. Verbeet
a79654d339
wined3d: Fix some swizzles on scalars.
2007-04-13 12:56:06 +02:00
H. Verbeet
75e91fa409
wined3d: Use the framebuffer blit extension to implement StretchRect.
2007-04-09 12:40:52 +02:00
H. Verbeet
75108443ff
wined3d: Add a function to dump WINED3DTEXTUREFILTERTYPE values.
2007-04-09 12:39:35 +02:00
H. Verbeet
c9b178b594
wined3d: Fixup FBO depth attachments when the depth attachment is larger than the render target.
2007-04-09 12:39:23 +02:00
H. Verbeet
3d4e054b55
wined3d: Handle FBO attachments slightly more efficiently.
2007-04-09 12:38:53 +02:00
Stefan Dösinger
290f2eb146
wined3d: Add Filtering to IWineD3DSurface::Blt and handle it.
...
This is to allow StretchRect to pass the texture filter to WineD3D.
DirectDraw sets the texture filter to WINED3DTEXF_NONE, simmilar to all
other functions which do not need filtering.
2007-04-07 10:58:10 +02:00
Stefan Dösinger
4f5d33311b
wined3d: Use GL_APPLE_client_storage if available.
2007-04-02 11:34:12 +02:00
Stefan Dösinger
bee084503b
wined3d: Implement bem shader instruction.
2007-03-27 12:30:38 +02:00
Stefan Dösinger
90fe64cee0
wined3d: Store an array of contexts in the swapchain.
...
This is a preparation for using multiple contexts on one drawable to
handle multithreading.
2007-03-19 12:23:16 +01:00
Stefan Dösinger
9789f993ce
wined3d: Remove some old stuff.
2007-03-19 12:18:20 +01:00
Andrew Talbot
2f5f3825c6
wined3d: Replace inline static with static inline.
2007-03-17 20:04:46 +01:00
Erich Hoover
9795e6839f
wined3d: Allow SetCursorProperties on existing cursor.
2007-03-14 13:14:08 +01:00
H. Verbeet
30ee071eb9
wined3d: Disable vertex shaders when transformed vertices are used.
2007-03-13 11:55:55 +01:00
H. Verbeet
ee09e8bfd6
wined3d: Remove FVF related fields from IWineD3DVertexDeclaration.
2007-03-13 11:54:24 +01:00
Stefan Dösinger
603e7933ea
wined3d: Blit the offscreen texture into the drawable if needed.
...
When using pbuffer or back buffer offscreen rendering the content of
the drawable will have been overwritten. Thus the texture has to be
written into the drawable. An exception is the (pretty common) case
that the whole render target is cleared before rendering to it.
2007-03-12 12:02:05 +01:00
Stefan Dösinger
c54a0fc2cf
wined3d: Rework surface dirtification.
...
Previously the surfaces stored a flag if the system memory copy was
ahead of the gl copy(SFLAG_DIRTY) or the gl copy is
ahead(SFLAG_GLDIRTY). The pbuffer copy was 'managed' differently using
SFLAG_INPBUFFER and SFLAG_INTEXTURE.
This patch replaces them with 3 flags, INSYSMEM, INPBUFFER and
INTEXTURE which specify which copy contains the most up to date
copy. It is perfectly valid to have more than one of those flags
set. One must be set at least (except at init, when no content is in
the surface yet). When one copy is modified, the flags for the others
are removed.
2007-03-07 12:18:14 +01:00
Stefan Dösinger
ebe274feed
wined3d: Remove IWineD3DSurface::SetPBufferState.
...
The method is removed because it does not really help with
anything. It should not be exported from wined3d, there is no need for
the other libs to call it. It does not help abstraction and code
simplification in any way because it is very specific and the code
calling it has to know what is happening in the surface to use this
method.
2007-03-07 12:17:33 +01:00
H. Verbeet
2384bdde9d
wined3d: Remove broken software shaders.
2007-03-07 11:52:17 +01:00
Stefan Dösinger
76b60b0516
wined3d: Support event queries using GL_NV_fence.
2007-03-01 11:40:14 +01:00
Stefan Dösinger
409aa73132
wined3d: Move clip planes to the state table.
2007-02-28 21:09:37 +01:00
Stefan Dösinger
8d9a553d89
wined3d: Support for using auxilliary buffers for offscreen rendering.
...
OpenGL AUX buffers provide a way for offscreen rendering which is very
similar to our back buffer "offscreen" rendering emulation. Not all
card support aux buffers, but if they are available they are a nice
present which is easy to use.
2007-02-28 21:04:47 +01:00
H. Verbeet
19d223cade
wined3d: Store multiple constant indices per list entry.
2007-02-28 13:35:34 +01:00
H. Verbeet
2c85e5e8a3
wined3d: Store GLSL programs in a hash table rather than a linked list.
2007-02-28 13:35:23 +01:00
H. Verbeet
2a82ed89b1
wined3d: Add some hash table code.
2007-02-28 13:35:16 +01:00
Francois Gouget
93494f2ac0
Assorted spelling fixes.
2007-02-20 20:30:51 +01:00
Stefan Dösinger
59ae2a56fb
wined3d: Use VBOs for index buffers.
2007-02-20 11:50:10 +01:00
Stefan Dösinger
ecfd4cb0e4
wined3d: Move the scissor rectangle to the state table.
2007-02-20 11:49:53 +01:00
Stefan Dösinger
7676462a3d
wined3d: Fix d3d8/9 style palettes.
2007-02-20 11:46:20 +01:00
H. Verbeet
78e50b78a6
wined3d: Remove the d3d9.h include from wined3d_private.h.
2007-02-16 12:31:28 +01:00
H. Verbeet
a4bc52a89c
wined3d: Fix WINED3DPRESENT_PARAMETERS and use it instead of D3DPRESENT_PARAMETERS.
2007-02-16 12:31:03 +01:00
Stefan Dösinger
2f96220b3e
6/10: WineD3D: rsq and rcp instructions may need a default swizzle in arb.
...
ARB shaders need a swizzle for the RSQ and RCP instructions, while d3d
shaders do not. The DirectX sdk says that the x component is used if
no swizzle is given.
2007-02-15 17:21:27 +01:00
Stefan Dösinger
8e84127aed
wined3d: Restore the display mode when releasing a swapchain.
2007-02-15 16:56:02 +01:00
H. Verbeet
ea683407af
wined3d: Add WINED3DTEXOPCAPS flags and use them.
2007-02-15 11:43:22 +01:00
Stefan Dösinger
b3f96f4327
wined3d: alphaop fixes for color keying.
2007-02-15 11:40:57 +01:00
Stefan Dösinger
49a49fcfec
wined3d: Load one bump mapping environment matrix into pixel shaders if needed.
2007-02-15 11:36:01 +01:00
Stefan Dösinger
0feddccfe3
wined3d: Instancing emulation.
2007-02-14 20:46:25 +01:00
Stefan Dösinger
174b6321eb
wined3d: Move lights to the state table.
2007-02-14 20:45:15 +01:00
Stefan Dösinger
acadf3f241
wined3d: Replace the light chain with a hashmap.
2007-02-14 20:44:58 +01:00
H. Verbeet
157205c085
d3d8: Don't store the d3d8 declaration in the wined3d object.
2007-02-14 13:56:50 +01:00
H. Verbeet
efed9aea1f
d3d8: Move loading local d3d8 vertex shader constants from wined3d to d3d8.
2007-02-14 13:54:55 +01:00
H. Verbeet
dea795f7ac
d3d9: Don't store the d3d9 declaration in the wined3d object.
2007-02-14 13:54:42 +01:00
H. Verbeet
32e5cac2be
wined3d: Get rid of the vertexDeclaration field in IWineD3DVertexShaderImpl.
2007-02-14 13:54:29 +01:00
Stefan Dösinger
b48dfb3c54
wined3d: Always use np2 repacking if no native np2 support is available.
2007-02-14 12:29:01 +01:00
Stefan Dösinger
c3f0eb489b
wined3d: Remove pow2Size from the surfaces.
2007-02-14 12:28:19 +01:00
Stefan Dösinger
f5f501d573
wined3d: Use the context manager to create onscreen contexts.
2007-02-13 12:08:02 +01:00
Stefan Dösinger
12252d0589
wined3d: Use the context manager to select the primary render target.
2007-02-13 12:05:35 +01:00
Stefan Dösinger
7253fae31f
wined3d: Make the context array dynamic.
2007-02-13 12:04:40 +01:00
Stefan Dösinger
f22d37e4dd
wined3d: Use the context manager to prepare for blitting.
2007-02-13 12:04:08 +01:00
Stefan Dösinger
c1623d4e7b
wined3d: Use the context manager to prepare for drawing.
2007-02-13 12:03:40 +01:00
Stefan Dösinger
380930dc54
wined3d: Store dirty states per context.
2007-02-13 11:55:07 +01:00
Stefan Dösinger
e6c9a073b0
wined3d: Store state optmization members in the context.
2007-02-13 11:50:38 +01:00
Stefan Dösinger
c739c387b6
wined3d: Add a per context structure for context management.
2007-02-13 11:50:14 +01:00
Stefan Dösinger
fa97fbdcad
wined3d: Make shader_cleanup more useful.
2007-02-12 12:37:48 +01:00
Stefan Dösinger
67b1f4a7e9
wined3d: BeginScene and EndScene tests and fixes.
2007-02-12 12:08:34 +01:00
H. Verbeet
7c40799df0
wined3d: Remove the d3d9types.h include from wined3d_private.h.
2007-01-23 11:27:05 +01:00
H. Verbeet
6112522122
wined3d: Move SetupFullscreenWindow() and RestoreWindow() from IDirectDrawImpl to IWineD3DDeviceImpl.
2007-01-19 12:28:58 +01:00
Stefan Dösinger
1d3abdeeaa
wined3d: Store the stream number in the strided structure.
2007-01-17 11:23:54 +01:00
H. Verbeet
7252b4d340
wined3d: Give WINED3DSIO_CRS its own function, properly take the write mask into account.
2007-01-16 16:05:49 +01:00
H. Verbeet
cb26d59d26
05/49: wined3d: Only add line numbers for new lines in shader_addline().
2007-01-16 16:02:28 +01:00
Stefan Dösinger
e328e24daa
wined3d: Better tracking of vertex buffer assignments.
2007-01-15 12:43:40 +01:00
Stefan Dösinger
03389acc30
wined3d: Do not free regularily locked surfaces.
2007-01-15 12:43:29 +01:00