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
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
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
Roderick Colenbrander
8e64d870b1
wined3d: Merge p8 palette initialization code.
2007-10-10 11:59:51 +02:00
Francois Gouget
b2bc712323
Assorted spelling fixes.
2007-09-27 20:12:53 +02:00
Stefan Dösinger
10f25e0104
wined3d: Add signed format conversion for glsl.
2007-09-24 13:29:54 +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
46e2d79508
wined3d: Move the software blitting to the base surface class.
2007-09-18 09:54:49 +02:00
Stefan Dösinger
3f0ea3d082
wined3d: Move lastActiveRenderTarget cleanup to the device.
2007-09-18 09:54:23 +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
511f9dfb2d
wined3d: Clean up SetMem.
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
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
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
Roderick Colenbrander
ad692f2a83
wined3d: Add PBO support for dynamically locked surfaces.
2007-09-13 11:00:47 +02:00
Stefan Dösinger
0ed81b20af
wined3d: Emulate D3DFMT_L6V5U5.
2007-09-12 12:09:56 +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
Roderick Colenbrander
63c06b4b38
wined3d: Fix ddraw-opengl surface free bug.
2007-09-10 16:47:49 +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
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
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
Roderick Colenbrander
3c08b23024
wined3d: Fix a null pointer dereference.
2007-08-21 21:38:57 +02:00
Stefan Dösinger
86b991c851
wined3d: Fix R32F and R16F.
2007-08-17 12:01:38 +02:00
Stefan Dösinger
028729d102
wined3d: Fix WINED3DFMT_A4L4.
2007-08-16 11:35:06 +02:00
Roderick Colenbrander
e77da5ef8a
wined3d: Don't call ActivateContext between ENTER_GL/LEAVE_GL.
2007-08-07 12:36:32 +02:00
H. Verbeet
cfb07e7114
wined3d: Set SFLAG_INSYSMEM when WINED3DLOCK_DISCARD is passed to IWineD3DSurfaceImpl_LockRect.
2007-08-02 12:18:41 +02:00
Alexandre Julliard
af4b9bb85c
wined3d: Fix compiler warning.
2007-07-30 14:14:01 +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
Stefan Dösinger
59efd5c7ec
wined3d: Set the pow2 sizes in gl surface private setup.
2007-07-26 11:48:36 +02:00
Michael Stefaniuc
25707d4c5d
wined3d: Remove a return after a return. Found by Smatch.
2007-07-25 13:02:39 +02:00
Stefan Dösinger
9ba3f389f6
wined3d: Initialize surfaces at creation.
2007-07-10 13:30:31 +02:00
Michael Stefaniuc
0326da9dd5
wined3d: Remove superfluous casts of void pointers to other pointer types.
2007-06-27 12:53:37 +02:00
Stefan Dösinger
fb269f9210
wined3d: Depthfill blits are allowed between BeginScene and Endscene.
2007-06-22 13:42:51 +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
Stefan Dösinger
ef65b233c0
wined3d: Some render target->texture blit context handling.
2007-06-11 13:56:47 +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
Francois Gouget
96c337f0a1
Assorted spelling fixes.
2007-06-07 19:24:32 +02:00
Phil Costin
e7578dca36
wined3d: Add support for loading gamma corrected textures.
2007-06-07 13:01:49 +02:00
Lei Zhang
f00670df61
wined3d: Various spelling fixes.
2007-06-06 13:40:01 +02:00
Chris Robinson
1e64bb93a4
wined3d: Add a few missing checkGLcall calls.
2007-06-05 12:19:10 +02:00
Kolbjoern Fredheim
cb8a8182d1
wined3d: Implemented converting X1R5G5B5 format to R5G5B5A1 to emulate color-keying.
2007-05-22 12:26:49 +02:00
Stefan Dösinger
093261b729
wined3d: Only addref clippers if one exists.
2007-05-11 11:26:40 +02:00
Stefan Dösinger
a90f650fd2
wined3d: Implement DDBLT_DEPTHFILL on the active depth stencil target.
2007-05-11 11:25:41 +02:00
Stefan Dösinger
e7b68eec34
ddraw: Use point filter for blit operations.
...
D3DTEXF_NONE is a special value for mipmapping which disabled
mipmapping, but it is not a valid mag / min filter parameter.
D3DTEXF_POINT is what we want
2007-05-11 11:21:29 +02:00
Francois Gouget
f999a9e433
wined3d: Add a missing '\n' to a trace.
2007-05-11 11:20:34 +02:00
Stefan Dösinger
c9bc4ee760
wined3d: Handle DDPCAPS_ALPHA.
2007-05-08 18:28:38 +02:00
Stefan Dösinger
0fb41a8845
wined3d: Make the blit -> flip work for windowed rendering.
2007-05-08 18:28:08 +02:00
Stefan Dösinger
d93e161b1f
d3d: Move clippers from DDraw to wined3d.
2007-05-08 18:27:44 +02:00
H. Verbeet
7b48db196f
d3d: Fix the surface locking rectangle validation.
2007-05-04 13:41:13 +02:00
Stefan Dösinger
61d1abb1c1
wined3d: Do not allocate surfaces unless needed.
2007-04-26 14:51:56 +02:00
H. Verbeet
5fddfd5bbc
wined3d: Use surface_get_gl_buffer where appropriate.
2007-04-17 11:12:43 +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
Stefan Dösinger
725057da47
d3d: Remove dependency on ddraw.h header.
2007-04-16 13:20:15 +02:00
H. Verbeet
2423c9f003
wined3d: Dirtify the sampler used by IWineD3DSurface_PreLoad in IWineD3DSurfaceImpl_BltOverride.
2007-04-10 21:39:43 +02:00
H. Verbeet
75e91fa409
wined3d: Use the framebuffer blit extension to implement StretchRect.
2007-04-09 12:40:52 +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
Felix Nawothnig
e600f7d082
wined3d: Issue an error when the render target is read back without SFLAG_INDRAWABLE being set.
2007-04-09 12:17:17 +02:00
Felix Nawothnig
c0782603d0
wined3d: Allow np2 textures to be loaded for SFLAG_INDRAWABLE.
2007-04-09 12:15:56 +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
e25a16fda5
wined3d: General signed format correction without native signed formats.
...
Implement signed d3d formats for D3DFMT_V8U8 and D3DFMT_Q8W8V8U8 if no
suitable opengl signed format is supported.
2007-03-21 22:51:19 +01:00
Stefan Dösinger
ede01abee2
wined3d: Support GL_ATI_envmap_bumpmap for D3DFMT_V8U8.
2007-03-21 22:50:41 +01:00
Stefan Dösinger
fcb83e7111
wined3d: Activate a context before doing opengl calls.
2007-03-19 12:22:57 +01:00
Erich Hoover
01199072dd
wined3d: Fix LockRect memory location calculation for WINED3DFMT_DXT*.
2007-03-17 19:51:34 +01:00
Stefan Dösinger
0b46254b57
wined3d: Blitting to offscreen target.
...
Fix the NULL deref that occured when blitting to offscreen targets and
select the proper gl drawing buffer instead.
2007-03-15 12:14:39 +01:00
Erich Hoover
9795e6839f
wined3d: Allow SetCursorProperties on existing cursor.
2007-03-14 13:14:08 +01:00
Stefan Huehner
4d1d01f266
Mark several functions as static.
2007-03-13 13:35:12 +01:00
Fabian Bieler
8dae597f24
wined3d: Implemented signed texture formats via NV_TEXTURE_SHADER.
2007-03-13 11:51:56 +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
Stefan Dösinger
daeffc897b
wined3d: Use an aux buffer as blitting helper if available.
...
This helps performance a bit because the function does not have to
wait for the 2nd read to finish before returning. Only do that if we
have an aux buffer to mess with for free though.
2007-03-06 22:16:44 +01:00
Stefan Dösinger
ae57138eae
wined3d: WINED3DFMT_U8V8 is signed.
...
Plain OpenGL does not provide any signed pixel formats, so the
unsigned GL_RGB is used for loading perturbation data into pixel
shaders that use texbem. For correct loading, the signedness has to be
considered.
2007-03-06 22:16:12 +01:00
Stefan Dösinger
424d34f84f
wined3d: Use the source surface's texture for writing the backup.
...
The hwstretch blit code creates a new texture each time it is called
to back up the back buffer and releases it afterwards. It is more
efficient to keep the texture and release it with the surface.
2007-03-01 11:39:52 +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
Francois Gouget
93494f2ac0
Assorted spelling fixes.
2007-02-20 20:30:51 +01:00
Stefan Dösinger
7676462a3d
wined3d: Fix d3d8/9 style palettes.
2007-02-20 11:46:20 +01:00
Stefan Dösinger
5e37345b30
wined3d: Activate a different context if the active render target is destroyed.
2007-02-19 13:10:51 +01:00
Stefan Dösinger
1f32d6235e
wined3d: Convert the full surface for now.
...
Until we have proper subrectangle handling for offscreen surfaces,
surface conversion has to use the real surface sizes, and not the size
of the opengl subrectangle that it is going to upload. Due to the
power of 2 limitations the gl height may be bigger than the real
surface height. If that is not the case, the uploading function will
pick the correct parts from the converted surface data.
2007-02-15 17:22:27 +01:00
Stefan Dösinger
20a07693b5
wined3d: Read offscreen render targets upside down when blitting them to a texture.
2007-02-15 17:22:06 +01:00
H. Verbeet
75ebf29e1b
wined3d: Get rid of any remaining d3d9 stuff in surface.c and surface_gdi.c.
2007-02-15 14:21:11 +01:00
Stefan Dösinger
1282b43302
wined3d: Restore blitting environment after modifying it.
2007-02-15 11:41:05 +01:00
Stefan Dösinger
8b8e30b1e1
ddraw, wined3d: Color keying tests and fixes.
2007-02-15 11:37:00 +01:00
Stefan Dösinger
ccd2772e28
wined3d: Accelerated blits from and to offscreen render targets.
2007-02-15 11:36:39 +01:00
Stefan Dösinger
de036ff68e
wined3d: Convert and load U8V8 surfaces as rgb.
...
GL_INDEX is definitly not the way to load U8V8 surfaces
2007-02-15 11:36:28 +01:00
Stefan Dösinger
b90a665d20
wined3d: Do not allocate compressed surfaces with glTexImage2D.
2007-02-14 12:29:42 +01:00
Stefan Dösinger
403b5ecf60
wined3d: Partial render target locking.
2007-02-14 12:29:11 +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
21172f1dec
wined3d: Improve render target locking.
2007-02-14 12:28:39 +01:00
Stefan Dösinger
c3f0eb489b
wined3d: Remove pow2Size from the surfaces.
2007-02-14 12:28:19 +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
e534340450
wined3d: Improve render target to texture blits.
2007-02-13 12:04:20 +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
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
67b1f4a7e9
wined3d: BeginScene and EndScene tests and fixes.
2007-02-12 12:08:34 +01:00
Stefan Dösinger
03389acc30
wined3d: Do not free regularily locked surfaces.
2007-01-15 12:43:29 +01:00
Stefan Dösinger
723b32b1c9
wined3d: Do not perform a NULL check on riid (Coverity).
2007-01-12 11:49:46 +01:00
Stefan Dösinger
d0f1c23c93
wined3d: Select a proper texture unit in LockRect and dirtify the state.
2007-01-03 11:20:06 +01:00
Stefan Dösinger
e26e3ee5f3
wined3d: Remove d3ddevice_set_ortho.
2007-01-03 11:19:55 +01:00
Stefan Dösinger
82bd0790ed
wined3d: Move the projection matrix into its own state.
2007-01-03 11:19:45 +01:00
Stefan Dösinger
5fa0f7f775
wined3d: Move the world matrix to the state table.
2007-01-03 11:19:09 +01:00
Alexandre Julliard
656fc93815
Use GetDC instead of CreateDC where possible.
2007-01-02 17:16:36 +01:00
Stefan Dösinger
603038a07a
wined3d: Do not setup states for unlocking if unlocking is disabled.
2006-12-29 12:49:41 +01:00
Stefan Dösinger
666b507766
wined3d: Move samplers to the state table.
2006-12-20 17:07:56 +01:00
H. Verbeet
8355b1a501
wined3d: Allow the device to store multiple render targets.
2006-12-20 12:31:40 +01:00
Markus Amsler
9b397ec2d5
wined3d: Remove IWineD3DSurface_GetContainerParent.
2006-12-18 12:02:17 +01:00
Vitaliy Margolen
81c7c00bb2
wined3d/d3d9: Pitch for DXTn textures can not be 0. With tests.
2006-12-04 12:38:16 +01:00
Markus Amsler
c40501db50
Revert "d3d: Remove AddRef from IWineD3DDevice_GetSwapChain.".
...
This reverts commit f84f687e6d
.
2006-11-30 16:03:59 +01:00
Markus Amsler
f84f687e6d
d3d: Remove AddRef from IWineD3DDevice_GetSwapChain.
2006-11-22 11:40:50 +01:00
Markus Amsler
fc179532f4
wined3d: Fix regression in surface conversion.
2006-11-08 11:25:27 +01:00
Francois Gouget
30e44c85c8
Assorted spelling fixes.
2006-11-07 15:25:24 +01:00
Markus Amsler
5ec0ce5b38
wined3d: Use width while converting surfaces.
...
This fixes also a heap corruption with 1x1 and 2x2 surfaces.
2006-11-07 15:06:16 +01:00
Markus Amsler
5864d18c96
wined3d: Use SURFACE_ALIGNMENT.
2006-11-07 15:06:02 +01:00
Ivan Gyurdiev
b1df1d8320
wined3d: Add D3DCLEAR codes to the WINED3D namespace.
2006-10-31 12:09:46 +01:00
Ivan Gyurdiev
5f79e80827
wined3d: Add D3DZBUFFERTYPE to the WINED3D namespace.
2006-10-24 20:06:45 +02:00
Karsten Elfenbein
1635da4b46
wined3d: BltOverride: Make sure that the content of the source rect is
...
copied to the correct position in the destination rect.
2006-10-20 10:18:59 +02:00
Ivan Gyurdiev
9628a1b2e2
wined3d: Merge D3DRECT types into one type in WINED3D namespace.
2006-10-12 12:37:08 +02:00
Ivan Gyurdiev
b1a4bd87a9
wined3d: D3DRENDERSTATETYPE: Consistently use in the WINED3D namespace.
2006-10-12 12:33:24 +02:00
Ivan Gyurdiev
fb0c932f21
wined3d: D3DFORMAT: Consistently use WINED3D namespace.
2006-10-11 12:17:21 +02:00
Christopher GAUTIER
331679bcc9
wined3d: Disable GL_REGISTER_COMBINERS_NV (if supported) in IWineD3DSurfaceImpl_BltOverride.
2006-10-06 15:24:08 +02:00
Stefan Dösinger
d45c16ba98
wined3d: Define the surface alignment in the header.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
90f097f835
wined3d: Honor the pitch in a few more places.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
49deec6139
wined3d: No color keying on surfaces with an alpha channel.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
3529560cd7
wined3d: Add WINED3DUSAGE_OVERLAY.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
2bcacf22d3
wined3d: Add IWineD3DSurface::UpdateOverlay.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
080e4f56cf
wined3d: Add UpdatOverlayZOrder.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
f6647486cf
wined3d: Add IWineD3DSurface::GetOverlayPosition.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
0f3995d21a
wined3d: Add IWineD3DSurface::SetOverlayPosition.
2006-10-06 12:53:24 +02:00
Stefan Dösinger
67436f9dbd
wined3d: Correctly name a variable.
2006-10-06 12:32:29 +02:00
Ivan Gyurdiev
3dcd3681f3
wined3d: Win64 printf fixes.
2006-10-02 14:38:04 +02:00
Francois Gouget
222c167969
Assorted spelling fixes.
2006-09-29 16:28:30 +02:00
Stefan Dösinger
9cafbd6de0
wined3d: Surface data is 32 bit aligned.
2006-09-25 18:31:26 +02:00
H. Verbeet
87fe835f5b
wined3d: Cleanup the surface loading code a bit.
...
- Separate allocation and uploading of textures.
- Move common code for allocating, uploading and downloading textures
into separate functions.
- Set the correct format and type for DXT textures.
2006-09-12 10:52:59 +02:00
Stefan Dösinger
252a0a76d4
wined3d: Properly initialize a variable.
2006-08-28 11:37:11 +02:00
Christian Costa
f50bb771c9
wined3d: Make sure b_info structure is properly allocated and released.
2006-08-17 11:20:33 +02:00
Roderick Colenbrander
2628627e79
wined3d: Surface pitch fix.
2006-08-10 10:54:59 +02:00
Francois Gouget
ce9b4baad8
Assorted spelling fixes.
2006-08-07 13:52:55 +02:00
Roderick Colenbrander
a7c2ab3e90
wined3d: Surface pitch fix.
2006-08-04 11:59:00 +02:00
Roderick Colenbrander
c0c525d458
wined3d: Paletted texture support.
2006-08-03 18:20:37 +02:00
Chris Robinson
13557abb7f
wined3d: Fix potential NULL dereference in IWineD3DSurfaceImpl_LockRect.
2006-07-31 17:20:15 +02:00
H. Verbeet
56395ca5f3
wined3d: Use GL_LIMITS(samplers) instead of GL_LIMITS(sampler_stages) in IWineD3DSurfaceImpl_UnlockRect.
2006-07-31 10:52:55 +02:00
Jason Green
d353ab7879
wined3d: Start checking for D3DUSAGE_QUERY_* items, improve traces.
2006-07-29 11:49:51 +02:00
Roderick Colenbrander
dc743d82ff
wined3d: Optimize d3dfmt_convert_surface.
2006-07-29 11:49:03 +02:00
Roderick Colenbrander
6d16eff9a6
wined3d: Render target texturing.
2006-07-28 14:01:07 +02:00
Stefan Dösinger
0fbc1fc0df
wined3d: Avoid a false ERR.
2006-07-28 12:28:19 +02:00
Roderick Colenbrander
3127d6401a
wined3d: BltFast/BltOverride color keying.
2006-07-27 12:02:16 +02:00
Stefan Dösinger
3b10a021db
wined3d: More efficient color keying dirtifying.
...
Instead of blindly dirtifying the surface LoadTexture keeps track of
the color key that was used when creating the opengl texture and
reloads the surface if the color key has changed.
2006-07-26 15:21:00 +02:00
Stefan Dösinger
06106e2810
ddraw: Support using an application-provided surface pointer.
2006-07-26 15:17:59 +02:00
Stefan Dösinger
a98ccb543d
wined3d: Draw the cursor.
2006-07-24 13:27:15 +02:00
Stefan Dösinger
a64febd3d1
wined3d: Reactivate the X bits fixup.
2006-07-24 12:57:33 +02:00
Stefan Dösinger
9a9a14d4f5
wined3d: Disable the fog before writing the back buffer data.
2006-07-18 11:24:08 +02:00
Stefan Dösinger
739d565c59
wined3d: Add a setting for the render target locking method.
2006-07-18 11:22:51 +02:00
Stefan Dösinger
f8ca32b3fb
wined3d: Break the glDrawPixels call out of UnlockRect.
2006-07-18 11:22:09 +02:00
Christian Costa
2dc451e181
wined3d: Readd missing copyright to shaders files.
2006-07-18 11:10:34 +02:00
Stefan Dösinger
ecbb53a723
wined3d: Break out the frame buffer readback of LockRect, implement palettized readback.
2006-07-17 15:05:38 +02:00
Stefan Dösinger
5702a310e9
wined3d: Allocate 4 extra bytes in the dib section.
2006-07-17 13:51:12 +02:00
Christian Costa
494841d3e5
wined3d: Only copy memory corresponding to the dib section instead of the power of 2 surface.
2006-07-14 13:32:40 +02:00
Stefan Dösinger
1a82976908
wined3d: Flip WINED3DFMT_R8G8B8 to GL_RGB.
2006-07-06 12:45:27 +02:00
Stefan Dösinger
77448f588b
wined3d: Perform sanity checks on the rectangle in LockRect.
2006-06-30 20:44:27 +02:00
Stefan Dösinger
e18b89aca7
wined3d: Fix single buffering.
...
Tell gl to draw to the back buffer when a back buffer is used, do not
use the value from gl.
2006-06-26 13:03:56 +02:00
Stefan Dösinger
495e46197a
ddraw/wined3d: IDirectDrawSurface7::SetSurfaceDesc corrections.
2006-06-26 12:38:55 +02:00
Stefan Dösinger
3518747165
wined3d: Pixel format cleanup.
2006-06-21 12:15:50 +02:00
Stefan Dösinger
3862f8e3d7
wined3d: Support more than one back buffer.
2006-06-15 16:51:41 +02:00
Alexandre Julliard
e9cbc66e93
wined3d: Make the virtual table functions static where possible.
2006-06-10 13:15:32 +02:00
H. Verbeet
26978a4d2d
wined3d: Return the result of QueryInterface in GetContainer.
2006-06-07 11:48:00 +02:00
Stefan Dösinger
2c3adec595
wined3d: Render target locking fixes.
2006-06-05 20:59:41 +02:00
Stefan Dösinger
34a959c6eb
wined3d: Implement IWineD3DSurface::BltFast.
2006-05-26 20:29:48 +02:00
Stefan Dösinger
0ce3cb2379
wined3d: Disable the depth test in UnlockRect
2006-05-26 20:14:38 +02:00
Roderick Colenbrander
54e5f9c465
wined3d: Dynamicly load GL_ARB_multitexture functions.
2006-05-25 20:17:32 +02:00
Stefan Dösinger
5b8b776431
wined3d: Small rhw vertex fix.
...
Fix the one pixel displacement and move the glOrtho code in a common
function.
2006-05-25 20:09:57 +02:00
Alexandre Julliard
e8d4c2e674
wined3d: Fixed a compiler warning.
2006-05-25 11:09:46 +02:00
Stefan Dösinger
40d3cc5ee4
wined3d: Turn around the image in LockRect.
2006-05-25 10:35:58 +02:00
Stefan Dösinger
89ca7fffd4
wined3d: Remove an unnecessary NULL check.
2006-05-24 10:03:28 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Stefan Dösinger
158691ea3b
wined3d: OpengGL accelerated blits.
...
Implement some basic opengl accelerated blts from and to render
targets. It's not perfect yet, but enought to make some D3D apps
happy. For now the only supported operations are:
- Full screen back -> Front buffer: Just call present
- Offscreen surface -> render target
- Render target -> offscreen surface(slow)
- render target colorfill
2006-05-23 12:41:31 +02:00
Stefan Dösinger
9d75802a21
wined3d: Surface pixel format conversion code.
2006-05-23 12:37:27 +02:00
Stefan Dösinger
cfcdb6515b
wined3d: Sort of oversized surface support.
2006-05-20 14:06:09 +02:00
Stefan Dösinger
ebcbda72c4
wined3d: Allow SYSTEMMEM textures and surfaces.
2006-05-20 14:05:23 +02:00
Stefan Dösinger
f7d89201c1
wined3d: Unset the ddraw primary when it is released.
2006-05-16 12:42:12 +02:00
Francois Gouget
e739ba9551
Assorted spelling fixes.
2006-05-15 15:05:05 +02:00
Stefan Dösinger
eaec7793d5
wined3d: Avoid a NULL dereference in RealizePalette.
2006-05-15 14:03:06 +02:00
Stefan Dösinger
8af7dd5dea
wined3d: Nonpow2 repacking support for GetDC.
2006-05-15 14:02:37 +02:00
Stefan Dösinger
7e12e2ac5b
wined3d: Update the DIB section's palette on GetDC.
2006-05-10 11:23:22 +02:00
Stefan Dösinger
275a0c2f2d
wined3d: Implement WineD3DSurface palette methods.
2006-05-10 11:22:20 +02:00
Stefan Dösinger
f8e8646fcc
wined3d: Implement GetFlipStatus and GetBltStatus.
2006-05-10 11:22:01 +02:00
Stefan Dösinger
cd05f9c10c
wined3d: Implement IWineD3DSurface::Flip.
2006-05-10 11:21:38 +02:00
Stefan Dösinger
9b29fb6860
wined3d: Implement IWineD3DSurface::SetColorKey.
2006-05-09 20:46:59 +02:00
Stefan Dösinger
08dc9e003d
wined3d: Implement IWineD3DSurface::IsLost and Restore.
2006-05-09 20:45:39 +02:00
Stefan Dösinger
af462957c3
wined3d: Implement IWineD3DSurface::GetDC and IWineD3DSurface::ReleaseDC.
2006-05-08 20:58:27 +02:00
Stefan Dösinger
18e95ee969
wined3d: Add IWineD3DSurface::GetPitch.
2006-05-08 14:52:18 +02:00
Stefan Dösinger
1cfbc903d5
wined3d: Add some surface flags.
2006-05-08 14:50:58 +02:00
Ivan Gyurdiev
07f4f70487
wined3d: QueryInterface corrections.
2006-05-05 20:23:41 +02:00
Stefan Dösinger
42b9221f51
wined3d: Add the remaining DirectDraw methods to WineD3DSurface.
2006-04-18 11:14:13 +02:00
Stefan Dösinger
ffc8e46e76
wined3d: Add IWineD3DSurface::Blt.
2006-04-17 11:19:30 +02:00
Stefan Dösinger
cf27031329
wined3d: Add IWineD3DSurface::Flip.
2006-04-13 11:23:03 +02:00
Jason Green
3f591ecb13
wined3d: Add some more debugging info.
...
Adds more debugging FIXME's if a specific WINED3DFMT_??? isn't supported.
2006-04-10 16:32:30 +02:00
Stefan Dösinger
9d67b4287e
wined3d: Rename return values from D3D* to WINED3D*.
2006-04-07 14:54:04 +02:00
Stefan Dösinger
bbe490abcc
wined3d: Add WINED3DLOCKED_RECT to wined3d_types.h.
2006-04-06 22:23:31 +02:00
Stefan Dösinger
d75fd75d48
wined3d: Add WINED3DPOOL to wined3d_types.h.
2006-03-28 17:34:42 +02:00
Stefan Dösinger
913df5b143
wined3d: Consistently use WINED3DRESOURCETYPE.
2006-03-10 21:43:00 +01:00
Stefan Dösinger
851bdfb5e0
wined3d: Add D3DLOCK_* types to wined3d_types.h.
2006-03-08 11:33:35 +01:00
Stefan Dösinger
270afeb5e8
wined3d: Define D3D usage flags in wined3d_types.h.
2006-03-07 10:53:02 +01:00
Stefan Dösinger
2f0c781988
wined3d: Add device caps to wined3d_types.h.
2006-03-07 10:51:34 +01:00
H. Verbeet
f7356a34c3
wined3d: Fix the relation between surfaces and their container.
2006-03-06 20:08:22 +01:00
H. Verbeet
fd2739b023
wined3d: Don't call glCompressedTexImage2DARB without allocatedMemory.
...
Don't call glCompressedTexImage2DARB if we haven't got allocatedMemory (yet).
Fix a small typo.
2006-03-06 20:01:05 +01:00
H. Verbeet
7d97f29c24
wined3d: Don't use GetDevice in IWineD3DSurfaceImpl_GetContainer, as
...
it adds a reference to the device that shouldn't be there.
2006-02-27 12:20:09 +01:00
Stefan Dösinger
46e8d67787
wined3d: Update the glOrtho between 2 rhw draws if the viewport was changed.
2006-02-13 13:25:21 +01:00
H. Verbeet
7a4b59b0c2
wined3d: Don't keep a reference to the container, as it creates a
...
circular reference.
2006-02-13 13:23:58 +01:00
H. Verbeet
bac34c35aa
wined3d: Release the container during surface / volume cleanup.
2006-02-10 14:52:20 +01:00
H. Verbeet
2200f3e2ca
wined3d/d3d9: Cleanup GetContainer for surfaces.
2006-02-07 12:25:59 +01:00
Roderick Colenbrander
694efd7c6f
wined3d: Texture fixes.
...
Set video memory capabilities, add some checks to SetTexture and
update some comments.
2006-02-06 20:57:42 +01:00
H. Verbeet
bd8db45e44
wined3d: Update the QueryInterface functions of IWineD3DBase subclasses.
2006-02-06 11:32:41 +01:00
H. Verbeet
e43cfb1a68
wined3d: Fix SetContainer.
...
Add/Release references to the container.
Change the type of the container from IUnknown to IWineD3DBase.
2006-02-06 11:30:48 +01:00
Raphael Junqueira
ee5d72b136
wined3d: Added support for WINED3DFMT_X4R4G4B4.
2005-12-31 13:13:34 +01:00
Francois Gouget
5127dc9f49
Assorted spelling fixes.
2005-12-02 16:15:09 +01:00
Francois Gouget
6d442aeb34
Assorted spelling fixes.
2005-11-23 20:14:43 +01:00
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +00:00
Francois Gouget
f4c0524ec6
Assorted spelling and case fixes.
2005-11-10 11:39:07 +00:00
Oliver Stieber
d6fcc69ddb
Implement D3DFMT_UNKNOWN surfaces, this seems to be used a lot in d3d8
...
but I haven't found any d3d9 application that uses D3DFMT_UNKNOWN
surfaces yet.
2005-11-02 20:01:54 +00:00
Oliver Stieber
effc262f9f
Added support for backbuffer with the formats A1R5G5B5 and X1R5G5B5.
2005-09-29 10:31:43 +00:00
Oliver Stieber
c99a3fafef
Change the format of surface_SaveSnapshot to TGA from PPM and add
...
support for compressed textures and an alpha channel.
2005-09-27 10:49:59 +00:00
Oliver Stieber
2b8a7dca38
Correct a problem with locking nonpower 2 back and front buffers.
2005-09-27 09:32:29 +00:00
Oliver Stieber
9e6957bbdc
Optionally repack nonpower 2 textures to the expected span length when
...
a textures is locked. This is necessary for buggy games like Warhammer
40k that don't work with the odd span sizes produce by default
nonpower 2 support.
2005-09-23 11:08:03 +00:00
Karsten Elfenbein
13fc2f88d6
Added A2R10G10B10 and D3DFMT_D24FS8 modes to all other functions.
2005-09-07 09:25:26 +00:00
Oliver Stieber
33b2c1fd3c
Added support for DXT2 and DXT4.
2005-08-29 12:20:02 +00:00
Oliver Stieber
6b91f5b31c
Set the apha channel to opaque when locking X8R8G8B8 backbuffers.
2005-08-03 21:17:08 +00:00
Mike McCormack
c6602b406b
Signed warning fixes.
2005-07-28 18:33:26 +00:00
Oliver Stieber
52b5842f70
Remove a load of IWineD3DSurface * casts that are no longer required.
2005-07-26 18:56:18 +00:00
Francois Gouget
bd19d67ad1
Assorted spelling fixes.
2005-07-22 09:06:03 +00:00
Oliver Stieber
9253e0e39c
Tidy up some comments and formatting.
2005-07-13 14:15:54 +00:00
Oliver Stieber
6a032491d3
Added basic memory management and tracking to wined3d.
2005-07-13 11:34:55 +00:00