Jan Zerebecki
58c7c51485
wined3d: Remove resourceStoreCriticalSection.
2007-04-16 13:51:56 +02:00
Stefan Dösinger
725057da47
d3d: Remove dependency on ddraw.h header.
2007-04-16 13:20:15 +02:00
Stefan Dösinger
8a5b6df483
d3d: Enumerate palettized formats for ddraw.
2007-04-16 12:12:34 +02:00
Fabian Bieler
c4bbed4854
wined3d: Mark vertex shader 3.0 as foggy shaders if they write out the fog coord.
2007-04-13 12:58:12 +02:00
H. Verbeet
a79654d339
wined3d: Fix some swizzles on scalars.
2007-04-13 12:56:06 +02:00
Stefan Dösinger
0d88a38238
wined3d: Dirtify the shader and declaration states if the bound interface is destroyed.
2007-04-12 16:09:12 +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
8d3c078e6c
wined3d: Disable the scissor test for depth blits.
2007-04-10 21:39:32 +02:00
H. Verbeet
384ad311f3
wined3d: Disable the scissor test in stretch_rect_fbo.
2007-04-10 21:39:24 +02:00
H. Verbeet
f0fcf7e133
wined3d: Remove some redundant IWineD3DSurface_PreLoad calls from stretch_rect_fbo.
2007-04-10 21:39:09 +02:00
H. Verbeet
112c3bf1c3
wined3d: Add some traces to stretch_rect_fbo.
2007-04-10 21:38:55 +02:00
H. Verbeet
c9f82b9817
wined3d: Set the stream offset to 0 in DrawPrimitiveUP/DrawIndexedPrimitiveUP.
2007-04-09 12:41:35 +02:00
H. Verbeet
38082f2964
wined3d: Display the stream offset in GetStreamSource/SetStreamSource traces.
2007-04-09 12:41:26 +02:00
H. Verbeet
6fd820206a
wined3d: Don't report render target formats we don't support as supported.
2007-04-09 12:41:17 +02:00
H. Verbeet
31663b9eca
wined3d: Add some StretchRectFilterCaps.
2007-04-09 12:41:04 +02:00
H. Verbeet
75e91fa409
wined3d: Use the framebuffer blit extension to implement StretchRect.
2007-04-09 12:40:52 +02:00
H. Verbeet
70dd7ced99
wined3d: Separate attaching a surface to an FBO from set_render_target_fbo.
2007-04-09 12:39:59 +02:00
H. Verbeet
2e1e3d48f2
wined3d: Make bind_fbo a bit more generic.
2007-04-09 12:39:48 +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
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
2d0016c5bc
wined3d: Preload target in ActivateContext() for ORM_BACKBUFFER/ORM_PBUFFER.
2007-04-09 12:17:07 +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
a9e04dd87f
wined3d: Index buffer data is unsigned.
2007-04-07 10:58:25 +02:00
Stefan Dösinger
0899d85757
wined3d: Set WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD caps3 cap.
2007-04-07 10:58:17 +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
Fabian Bieler
dcd416edbe
wined3d: Add GL_EXT_framebuffer_blit to extension handler.
2007-04-06 12:31:09 +02:00
Fabian Bieler
0ce39d5869
wined3d: Fix GLSL cnd instruction.
...
According to MSDN the cnd instruction should translate:
dst = src0 > 0.5 ? src1 : src2;
2007-04-05 10:55:00 +02:00
Fabian Bieler
fd6395f0c7
wined3d: Fix UpdateSurface for sourceRect != sourceWidth.
2007-04-05 10:54:24 +02:00
Fabian Bieler
7df5deab23
wined3d: Add support for float texture formats back in.
2007-04-04 21:26:36 +02:00
Fabian Bieler
91df230624
wined3d: Fix GLSL cnd instruction for INF and NAN arguments.
2007-04-04 21:26:30 +02:00
Fabian Bieler
2843b0f929
wined3d: Fix GLSL cmp instruction for INF and NAN arguments.
2007-04-04 21:26:23 +02:00
Felix Nawothnig
e3d3d1823d
wined3d: Only issue state_patchsegments FIXME once.
2007-04-04 12:45:57 +02:00
Felix Nawothnig
413b9b2ad2
wined3d: Downgrade some ERRs to FIXMEs.
2007-04-04 12:45:49 +02:00
Francois Gouget
0081b430e1
Assorted spelling and English fixes.
2007-04-03 11:23:12 +02:00
Michael Ploujnikov
56391a3a85
wined3d: Remove DDBLT_WAIT fixme.
2007-04-02 12:05:24 +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
f9ee2355d0
wined3d: Add GL_APPLE_client_storage to our extension list.
2007-04-02 11:30:04 +02:00
Felix Nawothnig
c343fb1cdf
wined3d: Make CreateCubeTexture fail when not supported.
2007-04-02 11:28:39 +02:00
Felix Nawothnig
18c9e5d5d0
wined3d: Use GL_TEXTURE_2D for dummy textures.
2007-03-30 11:25:23 +02:00
Felix Nawothnig
6760ccac1c
wined3d: Fix broken ERR() message.
2007-03-30 11:25:02 +02:00
Felix Nawothnig
335f978e91
wined3d: Only disable GL_TEXTURE_CUBE_MAP_ARB if supported.
2007-03-30 11:24:56 +02:00
Fabian Bieler
333de16fb6
wined3d: Implement support for projective textures in ps 2.0 and later.
2007-03-29 21:15:29 +02:00
Jan Zerebecki
09e7791cba
wined3d: Print lastpixel state fixme only once.
2007-03-28 12:43:14 +02:00
Stefan Dösinger
5e405d3b26
wined3d: Disable texture coordinate arrays on the correct unit.
2007-03-27 12:30:50 +02:00
Stefan Dösinger
bee084503b
wined3d: Implement bem shader instruction.
2007-03-27 12:30:38 +02:00
Stefan Dösinger
929116f23c
wined3d: Handle input modifiers in texcrd with arb shaders.
2007-03-27 12:30:26 +02:00
Fabian Bieler
e617c91f22
wined3d: Fix arb texbem instruction for projective textures.
2007-03-23 12:32:10 +01:00
Fabian Bieler
97967d3671
wined3d: Fix glsl texbem instruction for projective textures.
2007-03-23 12:31:35 +01:00
Fabian Bieler
4b3ac837aa
wined3d: Implemented bump map transform for texbem in GLSL with native signed textures.
2007-03-23 12:31:27 +01:00
Fabian Bieler
878e02538e
wined3d: Remove fog coordinate clamping in the vertex shader.
2007-03-23 12:30:58 +01:00
Fabian Bieler
7cedd56d24
wined3d: Implement linear fog with pixel shader.
2007-03-23 12:30:23 +01: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
2cdbd9a53d
wined3d: Store the pixel format in the texture.
2007-03-21 22:50:49 +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
e213d7eff5
wined3d: Add GL_ATI_envmap_bumpmap to our gl extension header.
2007-03-21 22:50:30 +01:00
Vitaly Budovski
f7b565e2ca
wined3d: Check for float texture formats correctly.
...
Move the checks for float texture formats into the correct location.
This allows some Direct3D sample applications which check for any of
the float formats together with D3DUSAGE_RENDERTARGET to start.
2007-03-21 12:33:17 +01:00
Phil Costin
1f03896e00
wined3d: Ensure all states affected by a change in render_offscreen are marked dirty in ActivateContext.
2007-03-21 11:55:52 +01: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
fcb83e7111
wined3d: Activate a context before doing opengl calls.
2007-03-19 12:22:57 +01:00
Stefan Dösinger
9789f993ce
wined3d: Remove some old stuff.
2007-03-19 12:18:20 +01:00
Stefan Dösinger
65c447082a
wined3d: Fix client gl unit selection.
...
I forgot that when re-enabling register combiners during the state
management rewrite.
2007-03-19 12:18:07 +01:00
Stefan Dösinger
022e884342
wined3d/ddraw: Forward DDSCL_MULTITHREADED to wined3d.
2007-03-19 12:17:18 +01:00
Andrew Talbot
2f5f3825c6
wined3d: Replace inline static with static inline.
2007-03-17 20:04:46 +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
4b445124d3
direct3d: Add a fixed function fog test.
2007-03-15 12:14:50 +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
Francois Gouget
e11ca0a7fd
wined3d: Remove space before '\n' in trace.
2007-03-14 12:10:47 +01:00
Stefan Huehner
4d1d01f266
Mark several functions as static.
2007-03-13 13:35:12 +01:00
András Kovács
dac10f0da8
wined3d: Set WINED3DCAPS2_DYNAMICTEXTURES flag.
2007-03-13 12:08:23 +01:00
H. Verbeet
62fff2eab8
wined3d: Remove some redundant code in IWineD3DVertexBufferImpl_FindDecl().
2007-03-13 11:56:18 +01:00
H. Verbeet
6998d0d472
wined3d: Remove a redundant check in handleStreams().
2007-03-13 11:56:10 +01:00
H. Verbeet
05d461aee9
wined3d: Remove some redundant checks in the vertexdeclaration() state handler.
2007-03-13 11:56:02 +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
H. Verbeet
b22ca33a85
wined3d: 11 space indent is ugly.
2007-03-13 11:54:08 +01:00
H. Verbeet
23cd4475f6
wined3d: Correct various texture limits checks.
2007-03-13 11:53:28 +01:00
Fabian Bieler
8dae597f24
wined3d: Implemented signed texture formats via NV_TEXTURE_SHADER.
2007-03-13 11:51:56 +01:00
Fabian Bieler
89843f2c27
wined3d: Set wrapmode for cubemags to clamp regardless of the sampler state.
2007-03-13 11:51:35 +01:00
Fabian Bieler
a2808903b1
wined3d: Height of rectangle is bottom - top, not vice versa.
2007-03-12 13:49:58 +01:00
Stefan Dösinger
eba060463d
wined3d: Account for offscreen rendering when setting up the clearing scissor rectangle.
2007-03-12 12:02:20 +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
850bd7b414
wined3d: Restore the index buffer when switching from UP to buffer drawing.
...
The state handler binds index buffer 0 when a user pointer is used. Likewise the real index
buffer has to be restored when switching back to drawing from index buffers.
2007-03-12 12:01:45 +01:00
H. Verbeet
fc5f36f037
wined3d: Fix IWineD3DPixelShader_GetFunction / IWineD3DVertexShader_GetFunction.
2007-03-08 11:58:50 +01:00
Michael Stefaniuc
719a02856d
janitorial: Remove two redundant checks for NULL.
2007-03-08 11:58:09 +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
H. Verbeet
318fb2987c
wined3d: Fix a typo.
2007-03-07 11:47:54 +01:00
Stefan Dösinger
81aeae3249
wined3d: Do not specify the viewport origin upside down when doing offscreen rendering.
...
The gl viewport origin is the lower left corner of the window, in d3d
it is the upper right corner. This is corrected when setting the
viewport. However, when we are doing offscreen rendering, this is
reversed. So do not flip the viewport origin when rendering offscreen.
2007-03-06 22:17:28 +01:00
Stefan Dösinger
6886b237ad
wined3d: Disable depth stencil related states without a depth stencil buffer.
...
Except with fbos, it is not possible to remove the depth stencil
buffer from the opengl frame buffer, so when the d3d app sets a NULL
depth stencil disable all states that work with the depth stencil
buffer.
2007-03-06 22:17:15 +01:00
Stefan Dösinger
5f159452ef
wined3d: Clearing the depth stencil buffer fails without a depth stencil buffer.
2007-03-06 22:17:03 +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
5f05906f3b
wined3d: Store the number of aux buffers in the gl limits structure.
2007-03-06 22:16:25 +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
e0a271ee0c
wined3d: Adjust the rhw transformation for offscreen rendering.
2007-03-06 22:15:57 +01:00
Stefan Dösinger
2cdced8193
wined3d: Adjust the rhw transformation for offscreen rendering.
...
When drawing processed vertices with the fixed function pipeline the
projection matrix is set up to map y values from 0 to height to 1.0;
-1.0(gl and d3d coord systems are flipped). This moves the y axis to
the bottom of the drawing area. When later on the y inversion matrix
is applied for offscreen rendering, the coordinate system will get
flipped out of the viewport.
This patch sets the Y range up upside down when using offscreen
rendering, so the invymat will flip it to the correct position. This
has to happen before the 0.375 pixel correction.
2007-03-05 15:31:36 +01:00
Stefan Dösinger
7126b63645
wined3d: Use the scissor test when clearing the full surface too.
...
It was incorrect to disable the scissor test for full surfaces in my
clear patch. With back buffer offscreen rendering the viewport does
not seem to restrict clearing, and with different sizes of depth
stencil and color buffer the final fantasy XI demo seems to expect the
clear to be restricted.
2007-03-05 15:31:21 +01:00
H. Verbeet
25cd1c4d28
wined3d: gl_FogFragCoord is a scalar.
2007-03-05 12:06:45 +01:00
H. Verbeet
71a0c6e482
wined3d: The texldl instruction takes 3 arguments.
2007-03-05 12:06:40 +01:00
H. Verbeet
3aaabf4e27
wined3d: Properly check the clipplane index against the limit.
2007-03-05 12:06:33 +01:00
Stefan Dösinger
95efeb7e4b
wined3d: Support GL_APPLE_fence for event queries.
2007-03-01 11:40:24 +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
be8e9e17bc
wined3d: Add GL_NV_fence defines and functions.
2007-03-01 11:40:02 +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
6ac8d88d5c
wined3d: Prepare only fixed function samplers for blit.
2007-03-01 11:39:17 +01:00
Stefan Dösinger
5afbfd0359
wined3d: Clip planes with vertex shaders.
2007-02-28 21:09:58 +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
38d961a749
wined3d: Leave the fog state handler after disabling fog.
2007-02-28 21:05:14 +01:00
Stefan Dösinger
7560c8e1d2
wined3d: Use GL_STATIC_DRAW_ARB instead of GL_STATIC_DRAW.
2007-02-28 21:05:00 +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
H. Verbeet
0170cc429c
wined3d: Boolean constants use up only a single uniform each.
2007-02-28 13:33:03 +01:00
H. Verbeet
b299395f30
wined3d: Fix matching WINED3DDECLUSAGE_POSITION against WINED3DDECLUSAGE_POSITIONT.
2007-02-28 13:32:53 +01:00
Stefan Dösinger
4a16dbbbec
wined3d: More Clear fixes.
...
Test for rectangles with x1 > x2 and y1 > y2. Empire earth passes such rects.
2007-02-27 12:20:10 +01:00
Stefan Dösinger
74d2632756
wined3d: Index buffer creation adjustments.
...
Index buffer creation changes the bound gl buffer, thus the state has to
be dirtified, similar to locking.
In an error case the function returned without calling LEAVE_GL().
2007-02-27 12:19:18 +01:00
Vitaliy Margolen
51ee7f4978
wined3d: Use application provided fog range when fog is enabled.
2007-02-26 13:58:09 +01:00
Jan Zerebecki
870310b461
wined3d: replace #ifdef with if() for DEBUG_SINGLE_MODE.
2007-02-23 11:57:46 +01:00
Jan Zerebecki
706bc26a69
wined3d: Make CreateFakeGLContext thread safe.
2007-02-23 11:57:12 +01:00
Francois Gouget
396bad1f6e
Use the SW_XXX constants when calling ShowWindow().
2007-02-23 11:17:54 +01:00
Stefan Dösinger
953940aada
wined3d: Make sure volumes have memory allocated.
2007-02-21 11:00:08 +01:00
Stefan Dösinger
a72b561947
wined3d: Do not use glMapBuffer in ProcessVertices.
2007-02-21 10:59:55 +01:00
Stefan Dösinger
2a90bc2c7a
wined3d: Remove dead code from drawprim.c.
2007-02-21 10:57:50 +01:00
Stefan Dösinger
ca04a9de34
wined3d: Use CopyRect / EqualRect.
2007-02-21 10:57:28 +01:00
Stefan Dösinger
efc03f0a34
wined3d: Index buffer fixes.
2007-02-21 10:57:08 +01:00
Stefan Dösinger
6d66347cf9
wined3d: Clean up sampler usage in UpdateSurface.
...
UpdateSurface has to modify one gl texture unit to bind the texture to
load. To restore the correct properties for drawing gl texture unit 0
is activated and dirtified.
2007-02-21 10:56:47 +01:00
Stefan Dösinger
e935600ebc
wined3d: IWineD3DDevice::Clear fixes.
...
Fix the use of the scissor test in Clear. The rectangle is only set if
a clearing rectangle is used, otherwise the scissor test is disabled
(the pixel ownsership test should take care of the window
boarders). To get the scissor test back to the value the app set up
Clear dirtifies the state(s).
2007-02-21 10:56:36 +01:00
Stefan Dösinger
dd93e1fb7f
wined3d: Floating point shader constant setting.
...
Test how shader constant limits are checked in Set*ShaderConstantF.
The vertex shader tests it based on the limits reported in the caps,
the pixel shader tests tries to find the limit manually because I
could not find a cap structure member specifying the pixel shader
constant limit.
Set*ShaderConstantF returns an error as soon as start or start + count
are bigger than the constant limit.
2007-02-21 10:56:01 +01:00
Stefan Dösinger
76b7cac7af
wined3d: Light parameter fixes.
2007-02-21 10:55:31 +01:00
Stefan Dösinger
fb1469c47d
wined3d: Do not print the fixed / unfixed vertices warning with shaders.
2007-02-21 10:55:14 +01:00
Francois Gouget
93494f2ac0
Assorted spelling fixes.
2007-02-20 20:30:51 +01:00
Stefan Dösinger
a9d681c3ad
wined3d: With FVFs only one stream is used.
2007-02-20 11:50:26 +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
bbcf98209c
wined3d: No bounds checking is done on sampler / texture numbers.
2007-02-20 11:49:42 +01:00
Stefan Dösinger
1f1d0cda22
wined3d: Misc comment updates.
2007-02-20 11:47:57 +01:00
Stefan Dösinger
27113156d9
wined3d: Remove IWineD3DDevice::EnumDisplayModes.
2007-02-20 11:47:46 +01:00
Stefan Dösinger
7676462a3d
wined3d: Fix d3d8/9 style palettes.
2007-02-20 11:46:20 +01:00
Stefan Dösinger
4a93eb840a
wined3d: Remove stream flags from GetStreamSource.
2007-02-20 11:46:06 +01:00
Stefan Dösinger
ef68e32b03
wined3d/d3d8: Move todo about sw vp usage to d3d8.
2007-02-20 11:45:56 +01:00
Stefan Dösinger
401110538a
wined3d: Check volume texture creation errors.
...
Volumetexture::Release checks for NULL pointers, so releasing a partially
created texture works.
2007-02-20 11:45:42 +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
762e227994
wined3d: Only scream about unsupported vertex blending when it is used.
2007-02-19 13:10:24 +01:00
Stefan Dösinger
06f2829b92
wined3d: Pretend to support event queries.
2007-02-19 13:10:10 +01:00
Stefan Dösinger
266fc77cf0
wined3d: Lighting is calculated for vertices without normals.
...
It still should be disabled for transformed vertices though.
2007-02-19 13:08:35 +01:00
Stefan Dösinger
03bc11fa16
wined3d: Visual test framework.
2007-02-19 13:07:44 +01:00
Stefan Dösinger
5916fdd560
wined3d: Remove an outdated TODO comment.
...
BltFast takes care of activating the correct context nowadays.
2007-02-19 13:02:19 +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
dc5b08cc76
wined3d: Get rid of any remaining d3d9 stuff in directx.c.
2007-02-16 12:31:21 +01:00
H. Verbeet
bd5488cda9
wined3d: Add WINED3DCREATE flags and use them.
2007-02-16 12:31:11 +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
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
Stefan Dösinger
a41ba013b6
wined3d: Test for supported queries.
...
This test contains a table of known supported / known unsupported
queries. In theory wined3d could just report the queries it supports,
but applications may make some assumtions regarding supported /
unsupported queries and stop working if they find a query unexpectadely
supported or unsupported. It also tests what is supposed to happen if an
unsupported query is created.
2007-02-15 17:21:58 +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
Stefan Dösinger
19baae3159
wined3d: Remove empty texture stage applying loop.
2007-02-15 16:55:38 +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
H. Verbeet
1a07d3142c
wined3d: Get rid of any remaining d3d9 stuff in stateblock.c.
2007-02-15 14:21:03 +01:00
H. Verbeet
a2fde7d912
wined3d: Get rid of any remaining d3d9 stuff in state.c.
2007-02-15 14:20:56 +01:00
H. Verbeet
618dc7da1f
wined3d: Use WINED3DISSUE_BEGIN / WINED3DISSUE_END rather than D3DISSUE_BEGIN / D3DISSUE_END.
2007-02-15 14:20:46 +01:00
H. Verbeet
e8419403ee
wined3d: Add the WINED3DSPD_IUNKNOWN flag and use it.
2007-02-15 14:20:38 +01:00
H. Verbeet
176a2a19c3
wined3d: Use WINED3DRTYPE_SURFACE rather than D3DRTYPE_SURFACE.
2007-02-15 14:20:28 +01:00
H. Verbeet
e01f242a2a
wined3d: Add WINED3DVS20 & WINED3DVS20CAPS flags and use them.
2007-02-15 14:20:19 +01:00
H. Verbeet
594f7fd882
wined3d: Add WINED3DPS20 & WINED3DPS20CAPS flags and use them.
2007-02-15 14:20:12 +01:00
H. Verbeet
db8da81e67
wined3d: Add WINED3DDTCAPS flags and use them.
2007-02-15 14:20:01 +01:00
H. Verbeet
da354c6dfa
wined3d: Add WINED3DLINECAPS flags and use them.
2007-02-15 14:19:52 +01:00
H. Verbeet
5c398c571f
wined3d: Add WINED3DPTADDRESSCAPS flags and use them.
2007-02-15 11:43:59 +01:00
H. Verbeet
a58b156264
wined3d: Add WINED3DPCMPCAPS flags and use them.
2007-02-15 11:43:53 +01:00
H. Verbeet
fd8e0f1589
wined3d: Add WINED3DPMISCCAPS flags and use them.
2007-02-15 11:43:46 +01:00
H. Verbeet
748fd83ebd
wined3d: Add WINED3DPBLENDCAPS flags and use them.
2007-02-15 11:43:37 +01:00
H. Verbeet
8fdd88b42c
wined3d: Add WINED3DSTENCILCAPS flags and use them.
2007-02-15 11:43:29 +01:00
H. Verbeet
ea683407af
wined3d: Add WINED3DTEXOPCAPS flags and use them.
2007-02-15 11:43:22 +01:00
Stefan Dösinger
1282b43302
wined3d: Restore blitting environment after modifying it.
2007-02-15 11:41:05 +01:00
Stefan Dösinger
b3f96f4327
wined3d: alphaop fixes for color keying.
2007-02-15 11:40:57 +01:00
Stefan Dösinger
d4c4e5d167
wined3d: Enable color keying only for surfaces without an alpha channel.
2007-02-15 11:40:44 +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
99576ea24e
wined3d: Implement texbem in arb, improve it in glsl.
2007-02-15 11:36:14 +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
efbd6d6332
wined3d: Give the bump env matrices their own states.
2007-02-15 11:35:52 +01:00
H. Verbeet
34e74ffc2a
wined3d: Use WINED3D_OK rather than D3D_OK.
2007-02-15 11:15:50 +01:00
H. Verbeet
3e77ffc563
wined3d: Use WINED3DPRESENT_BACK_BUFFER_MAX rather than D3DPRESENT_BACK_BUFFER_MAX.
2007-02-15 11:15:41 +01:00
H. Verbeet
d4d165afd8
wined3d: Use WINED3DUSAGE rather than D3DUSAGE.
2007-02-15 11:15:33 +01:00
H. Verbeet
498f9c507a
wined3d: Use WINED3DSTREAMSOURCE_INSTANCEDATA rather than D3DSTREAMSOURCE_INSTANCEDATA.
2007-02-15 11:15:25 +01:00
Francois Gouget
536e738552
Assorted spelling fixes.
2007-02-14 21:03:57 +01:00
Stefan Dösinger
388499ff28
wined3d: More fullscreen window fixes.
2007-02-14 20:46:51 +01:00
Stefan Dösinger
0feddccfe3
wined3d: Instancing emulation.
2007-02-14 20:46:25 +01:00
Stefan Dösinger
93cd7ef7ff
wined3d: Correctly load vertex attributes with a stride of 0.
2007-02-14 20:46:02 +01:00
Stefan Dösinger
aec06f60e7
wined3d: Do not leave SetStreamSource early.
2007-02-14 20:45:54 +01:00
Stefan Dösinger
e6fedfca7a
wined3d: Do not release the local vertex buffer copy.
2007-02-14 20:45:44 +01:00
Stefan Dösinger
40c85a60b7
wined3d: SetStreamSource does not modify stream flags.
2007-02-14 20:45:32 +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
H. Verbeet
8f0884066f
wined3d: Add WINED3DDECLUSAGE, use it.
2007-02-14 13:50:22 +01:00
H. Verbeet
2d9540cab7
wined3d: Don't use WINED3DSHADERDECLUSAGE_PSIZE / WINED3DSHADERDECLUSAGE_FOG.
2007-02-14 13:50:01 +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
ae3327334d
wined3d: Swap the SFLAG_DIBSECTION flag when swaping hdc and memory.
2007-02-14 12:29:29 +01:00
Stefan Dösinger
0ddd236480
wined3d: Check error conditions before creating the object.
2007-02-14 12:29:19 +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
e16d08f011
wined3d: Show fullscreen rendering windows.
2007-02-14 12:28:04 +01:00
Stefan Dösinger
f196680c59
wined3d: GetRenderTargetData can call BltFast.
2007-02-14 12:27:37 +01:00
Stefan Dösinger
8cae0e4d07
wined3d: Dirtify the render targets, not the primary swapchain on draws.
2007-02-14 12:27:23 +01:00
H. Verbeet
2a309f503d
wined3d: Cleanup the pixelshader() state handler a little bit.
2007-02-14 12:21:46 +01:00
H. Verbeet
1636bc1aec
wined3d: Always select the correct shader pair in the vertexdeclaration() state handler.
2007-02-14 12:21:41 +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
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
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
Chris Robinson
5f1a1bbc84
wined3d: Properly round negative values in shader_glsl_mov.
2007-02-12 14:12:29 +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
Maarten Lankhorst
89840c0517
wined3d: Report D3D caps properly for ATI cards.
2007-02-05 14:01:43 +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
32778357f8
wined3d: Use ARB_VERTEX_PROGRAM instead of GL_VERTEX_PROGRAM_ARB with GL_SUPPORT.
...
Spotted by Marcus Meissner.
2007-01-23 11:26:58 +01:00
H. Verbeet
beed89cde4
wined3d: The sincos instruction is valid for ps/vs 2.1 as well.
2007-01-19 12:29:17 +01:00
H. Verbeet
efed4c33c2
wined3d: gl_FragDepth is a float, so fixup the write mask.
2007-01-19 12:29:11 +01:00
H. Verbeet
4352934b84
wined3d: Use SetupFullscreenWindow() to make the window fullscreen.
2007-01-19 12:29:05 +01:00
H. Verbeet
6112522122
wined3d: Move SetupFullscreenWindow() and RestoreWindow() from IDirectDrawImpl to IWineD3DDeviceImpl.
2007-01-19 12:28:58 +01:00
H. Verbeet
a31f2fd9fc
wined3d: Use %s in trace.
2007-01-19 12:28:58 +01:00
Francois Gouget
b0bde6b87c
Assorted spelling fixes.
2007-01-18 12:56:52 +01:00
H. Verbeet
955fb95eb6
wined3d: Give shader constants their own debug channel.
2007-01-18 12:09:09 +01:00
H. Verbeet
79c7aeab00
wined3d: Fix a typo.
2007-01-18 12:09:03 +01:00
H. Verbeet
d429ff5b69
wined3d: When switching color material, apply the material we were previously tracking.
...
This fixes a regression introduced by 329670c7f1
.
2007-01-18 12:08:57 +01:00
H. Verbeet
612a74a994
wined3d: Don't set Parm when isDiffuseSupplied is FALSE in state_colormat(), it isn't used anyway.
2007-01-18 12:08:45 +01:00
Francois Gouget
d4ca34dd9b
d3d: Fix the D3DFMT_XXX constant declarations.
2007-01-18 12:05:05 +01:00
Stefan Dösinger
354fdae524
wined3d: Implement per stream offsets.
2007-01-17 11:24:04 +01:00
Stefan Dösinger
1d3abdeeaa
wined3d: Store the stream number in the strided structure.
2007-01-17 11:23:54 +01:00
Stefan Dösinger
71f923a6d2
wined3d: Improve drawStridedSlow a bit.
2007-01-17 11:23:41 +01:00
H. Verbeet
e3cc00cf47
wined3d: Add a glsl_src_param_t type, pass it to shader_glsl_add_src_param() instead of three separate character arrays.
2007-01-16 16:14:21 +01:00
H. Verbeet
04e6250c87
wined3d: Add a glsl_dst_param_t type, pass it to shader_glsl_add_dst_param() instead of three separate character arrays.
2007-01-16 16:13:58 +01:00
H. Verbeet
6f3fae4e04
wined3d: Simplify shader_glsl_get_write_mask().
2007-01-16 16:13:29 +01:00
H. Verbeet
c6bccc9278
wined3d: Simplify shader_glsl_get_swizzle().
2007-01-16 16:13:19 +01:00