Ivan Gyurdiev
d0032a1a2a
wined3d: Move device pointer into the BaseShader class.
2006-09-27 19:44:09 +02:00
H. Verbeet
5abdd7a19f
wined3d: Comparing BOOLs against FALSE is redundant.
2006-09-27 09:49:07 +02:00
H. Verbeet
1d839e42e9
wined3d: Add a comment to clarify the point of max_sampler_stages.
2006-09-27 09:48:30 +02:00
H. Verbeet
193f6bbd92
wined3d: Add support for native NPOT textures.
2006-09-27 09:48:11 +02:00
H. Verbeet
fdefaed46d
wined3d: Enable pixel shaders by default.
2006-09-27 09:47:00 +02:00
H. Verbeet
ba8a6a3c0c
wined3d: Fix the default values for wined3d_settings.
2006-09-27 09:46:37 +02:00
H. Verbeet
5bc0e91ddf
wined3d: Don't overwrite the position y offset in ARB vertex programs.
2006-09-27 09:46:08 +02:00
H. Verbeet
e4d5385d2c
wined3d: Cleanup ActiveRender some more.
2006-09-27 09:45:50 +02:00
H. Verbeet
cc821415ae
wined3d: Render upside down when rendering offscreen, even if the backbuffer is used to render to.
2006-09-27 09:45:34 +02:00
H. Verbeet
4bc8125648
wined3d: Show the MESSAGE in device_find_fbconfigs() only once.
2006-09-27 09:45:25 +02:00
Stefan Dösinger
581c24ef4e
wined3d: Use GL_EXTCALL.
...
That fixes compilation with gl headers that do not know about glUniform4fvARB.
2006-09-26 11:41:53 +02:00
Roderick Colenbrander
4b55964a26
wined3d: Add the missing gamma cap.
2006-09-26 11:39:29 +02:00
Stefan Dösinger
9cafbd6de0
wined3d: Surface data is 32 bit aligned.
2006-09-25 18:31:26 +02:00
Stefan Dösinger
96bce8d6d4
wined3d: Avoid wasting a uniform.
2006-09-25 18:24:19 +02:00
Stefan Dösinger
674af50174
wined3d: Stop fixing up a VBO if the declaration changes too often.
2006-09-25 18:22:36 +02:00
Stefan Dösinger
615db2b93d
wined3d: Verify the VBO vertex declaration every draw.
2006-09-25 18:21:50 +02:00
Stefan Dösinger
0ce3c59477
wined3d: Fix a typo.
2006-09-25 18:21:04 +02:00
Roderick Colenbrander
7c86d91bb9
wined3d: glBlend* fixes.
2006-09-25 17:56:04 +02:00
Ivan Gyurdiev
b421b60874
wined3d: Allow null streams in the vertex declaration.
2006-09-21 19:57:12 +02:00
Stefan Dösinger
fd65b9b413
wined3d: Do not bind the 0 vbo when vbos are unsupported.
2006-09-21 11:14:52 +02:00
Christoph Frick
6192f77d25
wined3d: Clamp the light exponent at 128.
2006-09-20 20:03:46 +02:00
Alexandre Julliard
32ab895e46
makefiles: Generate the dependencies line to avoid some code duplication.
2006-09-14 09:38:16 +02:00
Paul Chitescu
f2aee453f1
wined3d: Avoid crashing when renderer returns no name.
2006-09-13 11:37:06 +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
6286c4e70d
ddraw: Pass the fullscreen flag to wined3d.
2006-09-10 10:18:45 +02:00
Francois Gouget
06f9532dda
Assorted spelling fixes.
2006-09-08 11:04:53 +02:00
Jan Zerebecki
db7b684d30
wined3d: Simplify setting the stencil renderstate.
2006-09-07 16:11:21 +02:00
Ivan Gyurdiev
2e1cf4d948
wined3d: Add support for R32F and R16F texture formats.
2006-09-07 13:48:32 +02:00
Ivan Gyurdiev
de54843d7b
wined3d: Remove unused field: Surface.textureName.
2006-09-07 13:47:25 +02:00
Ivan Gyurdiev
448f918a39
wined3d: Clean up ActiveRender.
2006-09-07 13:47:13 +02:00
Paul Chitescu
4a581e6030
wined3d: Avoid crashing when ProcessVertices is called with NULL vertex declaration.
2006-09-07 13:46:45 +02:00
András Kovács
d1d5f4b646
wined3d: Implement BlendFactor renderstate.
2006-09-07 13:44:02 +02:00
András Kovács
c33e6245b5
wined3d: Remove unnecessary glBlendColor in TextureFactor renderstate.
2006-09-07 13:43:53 +02:00
Stefan Dösinger
bc449ca31f
wined3d: Apply the half pixel correction for shaders too.
2006-08-29 12:26:15 +02:00
Ivan Gyurdiev
bda6d092a5
wined3d: Add support for A16B16G16R16F and A32B32G32R32F texture formats.
2006-08-28 11:46:20 +02:00
Stefan Dösinger
760456dc7f
wined3d: Find the correct sampler type for < 2.0 pshaders.
2006-08-28 11:37:24 +02:00
Stefan Dösinger
252a0a76d4
wined3d: Properly initialize a variable.
2006-08-28 11:37:11 +02:00
Jan Zerebecki
fd15b8d064
wined3d: Use a common function for all D3DCMPFUNC -> GLenum conversions.
2006-08-25 20:04:56 +02:00
Stefan Dösinger
d4a88724dd
wined3d: Load projected textures in fragment shaders.
2006-08-25 11:19:15 +02:00
Stefan Dösinger
0b7a96e92b
wined3d: Compile pixel shaders in drawprim.
2006-08-25 11:19:08 +02:00
Stefan Dösinger
e0b21688fa
wined3d: Make the destination surface glDirty in UpdateSurface.
2006-08-23 16:54:18 +02:00
Stefan Dösinger
d7f94bf7c9
wined3d: Correctly draw transformed and untransformed vertices in the same scene.
2006-08-22 12:53:53 +02:00
Chris Robinson
a39e2b51cb
wined3d: Don't pass bad values to glAlphaFunc and glDepthFunc.
2006-08-21 12:23:41 +02:00
Chris Robinson
4c88bb84b9
wined3d: Print real unhandled D3DCMPFUNC value.
2006-08-21 12:23:02 +02:00
Roderick Colenbrander
de97fa7a3b
wined3d: Better GPU detection.
2006-08-21 12:21:19 +02:00
H. Verbeet
09eb0c40a6
wined3d: Improve float constant loading a bit.
...
- Use a list to keep track of what constants are set.
- Move TRACEs and checkGLcall calls out of the main constant loading loop.
2006-08-21 12:17:42 +02:00
H. Verbeet
49f4c68e29
wined3d: Lookup GLSL float uniform locations only once per program.
2006-08-21 12:16:27 +02:00
H. Verbeet
efa5f78598
wined3d: Free the float constant map arrays for all stateblocks.
2006-08-21 12:16:06 +02:00
H. Verbeet
2358fbbb03
wined3d: Fix indices for the float constant map.
...
Indices for the float constant map should be multiplied by 4 because
we're loading 4 component float vectors, not because the size of a
float is 4.
2006-08-21 12:15:12 +02:00
Christian Costa
f50bb771c9
wined3d: Make sure b_info structure is properly allocated and released.
2006-08-17 11:20:33 +02:00
Stefan Dösinger
ce5c4d38c4
wined3d: Silence WINED3DRS_DEBUGMONITORTOKEN.
2006-08-16 16:43:32 +02:00
Phil Costin
ef1c8fd118
wined3d: Fix vertex shader corruption issue.
2006-08-14 11:45:33 +02:00
Roderick Colenbrander
1a3359884c
wined3d: Fix opengl extension call.
2006-08-11 11:56:36 +02:00
Jan Zerebecki
387c982d5c
wined3d: Fix spelling in a comment.
2006-08-11 11:55:27 +02:00
Roderick Colenbrander
2628627e79
wined3d: Surface pitch fix.
2006-08-10 10:54:59 +02:00
Roderick Colenbrander
31abc2febd
wined3d: Draw buffers support.
2006-08-10 10:54:50 +02:00
Stefan Dösinger
30ef7f0b08
wined3d: Minor cursor fixes.
2006-08-10 10:54:37 +02:00
Roderick Colenbrander
c2b6cc9dc4
wined3d: Fix GLSL regression / draw buffers support.
2006-08-09 20:35:59 +02:00
Stefan Dösinger
bfbcfd2234
wined3d: Watch out for negative results when validating the shader constant range.
2006-08-09 20:35:02 +02:00
Roderick Colenbrander
c856432fab
wined3d: Volume texture addressing caps.
2006-08-08 19:37:30 +02:00
Roderick Colenbrander
eba1f90ef6
wined3d: Shader declaration cap fixes.
2006-08-08 19:37:23 +02:00
Roderick Colenbrander
194cdfa4b0
wined3d: Shader cap fixes.
2006-08-08 19:35:24 +02:00
Jan Zerebecki
ccf0d11352
wined3d: Stub out remaining renderstates.
2006-08-08 11:21:17 +02:00
Jan Zerebecki
f5d9b221cf
wined3d: Correct check for GL ext. support in MULTISAMPLEANTIALIAS.
2006-08-08 11:21:10 +02:00
Jan Zerebecki
f02af24039
wined3d: Add missing newline at the end of traces.
2006-08-08 11:20:15 +02:00
Jan Zerebecki
4d6cfb6351
wined3d: Registry setting for the amount of simulated texture memory.
...
Set VideoMemorySize under HKCU\Software\Wine\Direct3D to amount in MB
as string.
2006-08-08 11:20:05 +02:00
Roderick Colenbrander
91998b4d99
wined3d: Textureops caps fix.
2006-08-08 11:15:07 +02:00
H. Verbeet
3d2ae69102
wined3d: Allow async occlusion queries.
2006-08-07 19:59:49 +02:00
H. Verbeet
008c23d06a
wined3d: Improve a few query traces.
...
The query type is useful to have in query TRACEs.
IWineD3DQueryImpl_GetDataSize isn't really a stub.
2006-08-07 19:42:54 +02:00
H. Verbeet
44c1747f71
wined3d: Check Occlusion query GL calls.
2006-08-07 19:42:39 +02:00
H. Verbeet
02a8f74490
wined3d: Add a couple of traces to the vertexdeclaration creation code.
2006-08-07 19:42:31 +02:00
Francois Gouget
ce9b4baad8
Assorted spelling fixes.
2006-08-07 13:52:55 +02:00
Roderick Colenbrander
930a9a1d02
wined3d: texture caps fixes.
2006-08-07 13:52:38 +02:00
Roderick Colenbrander
bd6f0b23d6
wined3d: General constant caps fix.
2006-08-07 13:52:03 +02:00
H. Verbeet
219ca7c2a0
wined3d: Fix D3DCOLOR swizzling in shaders.
2006-08-07 13:12:21 +02:00
H. Verbeet
ef87a40c72
wined3d: Delay vertex shader compilation until the shader is first used.
2006-08-07 13:12:10 +02:00
Roderick Colenbrander
3d9e96f3bc
wined3d: Volume textures fix.
2006-08-05 11:26:25 +02:00
Roderick Colenbrander
6ded5542b2
wined3d: Raster caps fix.
2006-08-05 11:26:06 +02:00
Roderick Colenbrander
6fedd6c041
wined3d: Primitive misc caps fix.
2006-08-05 11:25:51 +02:00
Roderick Colenbrander
9925b0561e
wined3d: Basetexture anisotropic fix.
2006-08-04 20:48:08 +02:00
Roderick Colenbrander
95b047c2fe
wined3d: Fix a number of badly reported caps.
2006-08-04 20:47:50 +02:00
Roderick Colenbrander
a7c2ab3e90
wined3d: Surface pitch fix.
2006-08-04 11:59:00 +02:00
H. Verbeet
ea905eab09
wined3d: Disable vertex arrays after we're done drawing from them.
...
After drawing from a vertex array we should disable them, to prevent
the next draw calls from potentially reading past their ends. This
also moves the disabling of vertex attrib arrays (for shaders) into
its own function.
2006-08-04 11:58:43 +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
Chris Robinson
92bc96a96b
wined3d: Avoid NULL dereference.
2006-07-31 17:20:05 +02:00
H. Verbeet
d5238cfb38
wined3d: Split the GLSL check in a check for GLSL vertex shaders and one for GLSL fragment shaders.
2006-07-31 10:53:05 +02:00
H. Verbeet
c6c6cf1f51
wined3d: Improve IWineD3DDeviceImpl_CreateTexture trace.
2006-07-31 10:53:00 +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
e5fc18a505
wined3d: Skip processing of D3DSIO_PHASE instruction.
2006-07-29 11:50:10 +02:00
Jason Green
2e52b36bb3
wined3d: Declare a 1D sampler for TEXDP3TEX (GLSL).
2006-07-29 11:50:02 +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
Jason Green
72bfe131d1
wined3d: More shader fixes / new instructions.
...
- Replace gl_FragColor with gl_FragData[0] for GLSL pixel shader output.
- Subtract 1 more constant from total GLSL allowed float constants to
accommodate the PROJECTION matrix row that we reference.
2006-07-28 14:01:16 +02:00
Roderick Colenbrander
6d16eff9a6
wined3d: Render target texturing.
2006-07-28 14:01:07 +02:00
Stefan Dösinger
65e5ed60ae
wined3d: Do not use the IWineD3DSurface for the cursor.
2006-07-28 12:31:57 +02:00
Stefan Dösinger
0fbc1fc0df
wined3d: Avoid a false ERR.
2006-07-28 12:28:19 +02:00
Jason Green
0312a30676
wined3d: Fix minor typo from shader patch.
2006-07-27 14:40:01 +02:00
Jason Green
46c4b88ba5
wined3d: Fix some upside-down rendering issues for shaders.
2006-07-27 12:03:25 +02:00
Roderick Colenbrander
3127d6401a
wined3d: BltFast/BltOverride color keying.
2006-07-27 12:02:16 +02:00
Stefan Dösinger
3588067b90
wined3d: Blacklist WINED3DFMT_R8G8B8.
2006-07-27 11:57:45 +02:00
Kovács András
de051649c3
wined3d: Fix CopyRects if pDestPointsArray is NULL.
2006-07-26 15:40:39 +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
a5142837c6
wined3d: Enable all bump mapping formats.
2006-07-26 10:24:37 +02:00
Jason Green
f6b88b93ad
wined3d: Fix crash caused by bad TRACE.
2006-07-26 10:24:27 +02:00
Michael Stefaniuc
5ca9f82661
wined3d: Remove superfluous breaks.
2006-07-26 10:24:15 +02:00
Jason Green
7e90aba97b
wined3d: Implement more GLSL instructions.
...
Implement D3DSIO_TEXREG2AR, TEXREG2GB, TEXREG2RGB, TEXM3X3TEX, TEXM3X3SPEC.
2006-07-25 11:22:55 +02:00
H. Verbeet
536638918d
wined3d: Add real occlusion query support.
2006-07-25 11:22:00 +02:00
H. Verbeet
8c981140a2
wined3d: Add traces to IWineD3DVertexShaderImpl_SetFunction & IWineD3DPixelShaderImpl_SetFunction.
2006-07-25 11:21:51 +02:00
H. Verbeet
2d6e661fbe
wined3d: D3d8 shaders can have a NULL pFunction, but a valid vertex declaration.
2006-07-25 11:21:46 +02:00
Jason Green
ac8f2c033c
wined3d: Improve traces for D3DTRANSFORMSTATETYPE.
...
Added debug function for WINED3DTRANSFORMSTATETYPE and changed all
references from D3DTS_* to WINED3DTS_*.
2006-07-24 19:55:27 +02:00
Stefan Dösinger
a98ccb543d
wined3d: Draw the cursor.
2006-07-24 13:27:15 +02:00
Stefan Dösinger
14c2aa0ed6
wined3d: Use the ddraw blitting code for IWineD3DDevice::ColorFill.
2006-07-24 13:27:15 +02:00
Jason Green
75950b5bf8
wined3d: Replace memset/memcpy routines on stateblock (fixes dynamic shader constants regression).
2006-07-24 12:57:34 +02:00
Stefan Dösinger
127613bc6f
wined3d: Whitelist pixelformats instead of blacklisting.
2006-07-24 12:57:34 +02:00
Stefan Dösinger
a64febd3d1
wined3d: Reactivate the X bits fixup.
2006-07-24 12:57:33 +02:00
Jason Green
3c03ae2f84
wined3d: Minor trace corrections in Set___ShaderConstants().
2006-07-21 20:22:19 +02:00
Stefan Dösinger
9423fd2d9f
wined3d: Do not try to create a vbo more than once.
2006-07-21 20:21:00 +02:00
Stefan Dösinger
d637aa3581
wined3d: Move vertex fixups into their own function.
2006-07-21 20:20:54 +02:00
Ivan Gyurdiev
99f67c676b
wined3d: Respect EnableAutoDepthStencil parameter.
2006-07-21 10:54:43 +02:00
Ivan Gyurdiev
99272f0dee
wined3d: Correct initial render states.
2006-07-21 10:54:12 +02:00
Ivan Gyurdiev
65109002ae
wined3d: Do not return WINED3DERR_INVALIDCALL for Phong shading.
2006-07-21 10:53:54 +02:00
Ivan Gyurdiev
0c6c9f04a7
wined3d: Restore recording mode later in ActiveRender().
2006-07-21 10:53:34 +02:00
Ivan Gyurdiev
b77b72c91b
wined3d: Read shader constants from correct stateblock.
2006-07-21 10:53:01 +02:00
H. Verbeet
a8f2c1075a
wined3d: Compilation fixes.
2006-07-20 12:11:06 +02:00
Jason Green
718716b77a
wined3d: Make the number of floating point shader constants dynamic.
2006-07-19 09:54:30 +02:00
Stefan Dösinger
bffe5a6922
ddraw/wined3d: Remove texture format enumeration functions.
2006-07-18 11:25:22 +02:00
Stefan Dösinger
9740555d83
wined3d: Duplicate flips in software if the local copy is up to date.
2006-07-18 11:24:51 +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
Christian Costa
95ac88cc0b
wined3d: Fix typo in ARB pixel shader.
2006-07-18 11:10:23 +02:00
H. Verbeet
593541a50c
wined3d: Increment texture_idx when continuing as well.
2006-07-18 11:09:46 +02:00
Jason Green
6a97f2202e
wined3d: Fix for vertex shaders.
2006-07-17 15:05:38 +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
Ivan Gyurdiev
436d700c2e
wined3d: Fix cmp instruction for GLSL.
...
The current GLSL cmp instruction is incorrect, because:
- it ignores destination write mask
- it ignores source swizzle
- it ignores other source modifiers.
- it works incorrectly for src0 = 0
2006-07-14 13:32:38 +02:00
Ivan Gyurdiev
07eb6531a3
wined3d: Fix light state bugs.
2006-07-14 12:39:13 +02:00
H. Verbeet
0924f969d1
wined3d: Texture stages that reference NULL textures should just pass
...
through the result of the previous stage.
2006-07-12 13:21:04 +02:00
H. Verbeet
7090259545
wined3d: Fix specular color handling for register combiners.
...
By default the FinalCombiner is setup to add the specular color to the
final result of the combiner operations. However, it should only do
this when the WINED3DRS_SPECULARENABLE renderstate is enabled.
2006-07-12 13:20:41 +02:00
Stefan Dösinger
0dd13f2cb7
wined3d: Check the color data type too when deciding whether to convert data.
2006-07-12 13:20:25 +02:00
Ivan Gyurdiev
ed9848930b
wined3d: Improve GetAdapterMonitor stub.
2006-07-11 17:14:46 +02:00
Ivan Gyurdiev
33293df143
wined3d: More flow control instructions.
...
- Implement call, callnz, label, and ret
- Implement support for NOT modifier
2006-07-11 17:14:24 +02:00
Ivan Gyurdiev
6ede56495a
wined3d: More flow control instructions
...
- Implement if, else, endif, rep, endrep, break
- Implement ifc, breakc, using undocumented comparison bits in the instruction token
- Fix bug in main loop processing of codes with no dst token
- Fix bug in GLSL output modifier processing of codes with no dst token
- Fix bug in loop implementation (src1 contains the integer data, src0 is aL)
- Add versioning for all the instructions above, and remove
GLSL_REQUIRED thing, which is useless and should be removed from all
opcodes in general.
2006-07-11 17:13:05 +02:00
Ivan Gyurdiev
345dd49eda
wined3d: Fix off-by-one constants bug.
2006-07-11 17:12:24 +02:00
Ivan Gyurdiev
8068fc3b9c
wined3d: Clamp texcoord output between 0 and 1.
2006-07-11 17:12:04 +02:00
Ivan Gyurdiev
e9de563e41
wined3d: Place immediate constants in the same array as global constants.
...
- move DEF, DEFI, DEFB handling into the register counting pass
- keep track of defined constants as a linked list (because there's a
few of them)
- apply immediate constants after global constants in the constant
loading function
- both types of constants now get loaded with array notation in the
shader (into the same array)
2006-07-11 17:11:30 +02:00