Jason Green
36b0b9cc1c
wined3d: Added new GenerateShader function for Vertex Shaders & declare generate_base_shader().
2006-05-10 12:18:08 +02:00
Jason Green
d982954808
wined3d: Created generate_base_shader which will be shared by pixel & vertex shaders.
2006-05-10 12:17:18 +02:00
Jason Green
c15447d4b0
wined3d: Rename the TEMP variables in vertexshader.c to R from T for consistency.
2006-05-10 12:17:01 +02:00
Jason Green
cc2ea9e08c
wined3d: Place # of textures, addresses, & temps used inside the baseShader struct to prepare for GenerateShader merge.
2006-05-10 12:16:22 +02:00
Jason Green
653e71d774
wined3d: Further split up GenerateProgramArbHW for pixelshaders.
2006-05-10 12:16:02 +02:00
Jason Green
f015124ae0
wined3d: Move D3DSIO_M#x# vertex shader opcodes to a more standard function.
2006-05-10 12:15:35 +02:00
Jason Green
eee6fc9277
wined3d: Move DCL, DEF operations out of Generate loop and into separate functions.
2006-05-10 12:15:12 +02:00
Jason Green
5308e026d1
wined3d: Move program_dump_decl_usage into baseshader.
2006-05-10 12:14:39 +02:00
Michael Stefaniuc
a87520036f
janitorial: Remove redundant NULL pointer checks before HeapFree'ing them.
...
Some HeapFree's are hidden behind macros. Found by smatch.
2006-05-10 11:31:41 +02:00
Ivan Gyurdiev
9d4960bfcb
wined3d: Clean up some dead code.
2006-05-10 11:29:44 +02:00
Ivan Gyurdiev
b187242ab6
wined3d: Break out texture instruction processing.
2006-05-10 11:28:49 +02:00
Ivan Gyurdiev
cdfe848b6d
wined3d: Break out arithmetic instruction processing.
2006-05-10 11:28:11 +02:00
Ivan Gyurdiev
320e33dcb3
wined3d: Merge register counting pass.
2006-05-10 11:26:01 +02:00
Ivan Gyurdiev
aadafd64da
wined3d: Make register counting pass the same.
2006-05-10 11:24:33 +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
d89080c671
wined3d: Update the device palette if the primary palette is changed.
2006-05-10 11:23:08 +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
10ff0d8184
wined3d: rhw vertex fixup.
...
Change the rhw=0 range to ]1e-8,1e-8[ and move the value to a constant
in wined3d_types.h
2006-05-09 20:45:27 +02:00
Ivan Gyurdiev
1d0c672393
wined3d: Share get_opcode.
2006-05-09 20:45:10 +02:00
Phil Costin
9413c89c33
wined3d: Add check for GL Shading Language 100 Extension.
2006-05-09 12:39:24 +02:00
Ivan Gyurdiev
c93239d36d
wined3d: Clean up per version shader limits code.
2006-05-09 11:58:14 +02:00
Ivan Gyurdiev
5f10560762
wined3d: Addline cleanup.
2006-05-09 11:55:45 +02:00
Stefan Dösinger
af462957c3
wined3d: Implement IWineD3DSurface::GetDC and IWineD3DSurface::ReleaseDC.
2006-05-08 20:58:27 +02:00
Marcus Meissner
80dc1f9cb3
wined3d: Fix possible buffer overflow.
...
Increase size of passed buffer to print into.
2006-05-08 15:26:55 +02:00
Jason Green
66ab457196
wined3d: Eliminate duplicate function: vshader_program_dump_param().
2006-05-08 15:19:12 +02:00
Ivan Gyurdiev
4b3079438b
wined3d: Share get_register_code().
2006-05-08 15:15:30 +02:00
Stefan Dösinger
18e95ee969
wined3d: Add IWineD3DSurface::GetPitch.
2006-05-08 14:52:18 +02:00
Stefan Dösinger
a173c8e35a
wined3d: Add IWineD3DDevice::DrawPrimitiveStrided.
2006-05-08 14:51:13 +02:00
Stefan Dösinger
1cfbc903d5
wined3d: Add some surface flags.
2006-05-08 14:50:58 +02:00
Ivan Gyurdiev
aea0b5d0f8
wined3d: Separate pshader/vshader tables.
2006-05-08 13:36:31 +02:00
Ivan Gyurdiev
dbf5450982
wined3d: Remove dead shader code.
2006-05-07 10:00:24 +02:00
Ivan Gyurdiev
07f4f70487
wined3d: QueryInterface corrections.
2006-05-05 20:23:41 +02:00
Roderick Colenbrander
c4eff1eb44
wined3d: Vertex Shader regtype cleanups.
2006-05-05 18:01:09 +02:00
Ivan Gyurdiev
1e86752812
wined3d: Fix mipmap level count.
2006-04-21 11:35:49 +02:00
Ivan Gyurdiev
744f3ae1c4
wined3d: Improve/implement D3DSIO_TEX.
...
- unify per-version cases into a single sequence
- make use of get_register_name() for the destination register
- ignore destination write mask - it's only allowed on 2.0+ shaders,
and only the default mask is allowed there (xyzw)
- enable swizzle on texld 1.4 (it works together with dw/dz modifiers)
- implement for shaders 2.0-3.0
2006-04-21 11:35:34 +02:00
Ivan Gyurdiev
ecba4d5cbd
wined3d: Texture format corrections.
...
- add missing GL type and make GL cfg entries for A16B16G16R16
- correct L16 type to UNSIGNED_SHORT (..16 = short, not byte)
- change internal format for X8R8G8B8 from GL_RGB to GL_RGB8 which
seems more correct
2006-04-21 11:35:06 +02:00
Ivan Gyurdiev
74117baa6c
wined3d: Correct vtrace usage.
2006-04-21 11:34:31 +02:00
Stefan Dösinger
a6f71af021
wined3d: Implement IWineD3DPalette.
2006-04-21 11:28:11 +02:00
Ivan Gyurdiev
63ef9788dd
wined3d: Trace corrections/improvements.
2006-04-20 15:38:00 +02:00
Ivan Gyurdiev
162d9cb6f4
wined3d: Support for shift modifiers.
2006-04-19 19:27:22 +02:00
Ivan Gyurdiev
70fc78b64e
wined3d: Support more than 4/6 tex/temp registers.
2006-04-19 19:26:50 +02:00
Stefan Dösinger
04da3ce2d1
wined3d: Implement GetHWND and SetHWND.
2006-04-19 12:55:03 +02:00
Stefan Dösinger
7fee88df9f
wined3d: Implement EnumTextureFormats.
2006-04-19 12:54:32 +02:00
Stefan Dösinger
ac964c3b61
wined3d: Implement EnumZBufferFormats.
2006-04-19 12:54:08 +02:00
Stefan Dösinger
a6206836e6
wined3d: Implement IWineD3DDevice::EnumDisplayModes.
2006-04-19 12:53:30 +02:00
Stefan Dösinger
d04f0507cf
wined3d: Implement Init3D and Uninit3D.
2006-04-19 12:43:22 +02:00
Ivan Gyurdiev
3dddaae795
wined3d: Use ARB[f|v]p1.0 for ps2/ps3/vs3.
2006-04-18 11:22:48 +02:00
Ivan Gyurdiev
e3c8e65084
wined3d: Use correct register number mask.
...
The regmask currently being used is wrong - 0x1FFF includes the high
two bits of the register type.
2006-04-18 11:20:45 +02:00
Ivan Gyurdiev
e0a1442f6c
wined3d: Dcl opcode takes 2 parameters.
2006-04-18 11:19:48 +02:00
Ivan Gyurdiev
7e5f734ee3
wined3d: Fix _dw modifier.
...
The _dw modifier needs to specify a component swizzle, just like the
_dz currently does.
2006-04-18 11:19:13 +02:00
Ivan Gyurdiev
d3d56e765d
wined3d: Fix flow control instructions number of parameters.
...
- else, endif, break take 0 parameters [not 2]
- if, rep take 1 parameter [not 2]
- breakp takes 1 parameter [not 2]
- move all flow control instructions in one place
- sync software shaders signatures with this
2006-04-18 11:18:48 +02:00
Ivan Gyurdiev
0d6eaf363d
wined3d: Skip unhandled opcodes in vshaders.
2006-04-18 11:17:34 +02:00
Ivan Gyurdiev
d486b93e30
wined3d: Texkill is supported for ps2.0-3.0.
2006-04-18 11:17:12 +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
80bdb24cad
wined3d: Add the remaining IWineD3DDevice methods.
2006-04-18 11:13:47 +02:00
Stefan Dösinger
cff4e1ea4b
wined3d: Add IWineD3DPalette.
2006-04-18 11:11:49 +02:00
Stefan Dösinger
03b256b16d
wined3d: Add a parameter for surface type selection.
2006-04-18 11:09:17 +02:00
Stefan Dösinger
076fa811af
wined3d: Add a method to change the front and back buffers.
2006-04-17 11:21:22 +02:00
Stefan Dösinger
ffc8e46e76
wined3d: Add IWineD3DSurface::Blt.
2006-04-17 11:19:30 +02:00
Sagar Mittal
4f986c842f
wined3d: Fix null pointer check in IWineD3DImpl_GetPixelShader.
2006-04-14 19:36:48 +02:00
Stefan Dösinger
d9cd05db80
wined3d: Add GetHWND and SetHWND methods to IWineD3DDevice.
2006-04-14 10:52:01 +02:00
Jason Green
5f4b424553
wined3d: Add case 0 to switch statement and fix the fixme.
...
Screwed up a copy/paste from one of my recent patches. This
eliminates the erroneous FIXME for calls to D3DFmtMakeGlCfg() with 0
as the Stencil format. Also, it changes the FIXME to print the
correct variable.
2006-04-13 11:23:50 +02:00
Stefan Dösinger
cf27031329
wined3d: Add IWineD3DSurface::Flip.
2006-04-13 11:23:03 +02:00
Stefan Dösinger
d2510847b0
wined3d: Split device creation and opengl initialization.
2006-04-13 11:22:45 +02:00
Karsten Elfenbein
59189ba75b
wined3d: Combined unhandled renderstate cases into one.
2006-04-12 20:57:26 +02:00
Karsten Elfenbein
c90c04607e
wined3d: IWineD3DDeviceImpl_Reset cleanup.
...
Joined the functions as it looks like a typo in the function name
(IWineD3DDeviceImpl_Rest isn't used anywhere but contains comments).
2006-04-12 20:57:16 +02:00
Stefan Dösinger
e0c8773199
wined3d: Add a resource dumper.
2006-04-12 12:54:28 +02:00
Ivan Gyurdiev
c1a6e910ce
wined3d: Enable texld instruction (shaders 1.4).
2006-04-12 11:42:21 +02:00
Ivan Gyurdiev
8ab0237e21
wined3d: Reorganize shaders code a bit.
2006-04-12 11:42:04 +02:00
Jason Green
be10a6a099
wined3d: Spelling fixes and downgrade a FIXME to a TRACE.
2006-04-12 11:17:59 +02:00
Stefan Dösinger
108688f96a
wined3d: Don't do a logical AND on the swap effect.
2006-04-12 11:17:49 +02:00
Stefan Dösinger
edfe5d68ee
wined3d: Store the private data in IWineD3DResource::SetPrivateData.
2006-04-12 11:17:39 +02:00
Ivan Gyurdiev
12be14b6cc
wined3d: Remove bogus address register warning for pixel shaders.
...
Pixel shaders don't have an address register, this warning is bogus.
D3DSPR_ADDR is interpreted as D3DSPR_TEXTURE for pixel shaders.
2006-04-11 14:22:18 +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
Ivan Gyurdiev
634698cb19
wined3d: Print all errors in checkGLcall.
2006-04-10 12:24:23 +02:00
Ivan Gyurdiev
88a7c9e948
wined3d: Downgrade some FIXMEs.
2006-04-10 12:23:45 +02:00
Ivan Gyurdiev
5c12c043df
wined3d: Map D3DFMT_L16, D3DFMT_A16B16G16R16 to OpenGL formats.
...
Map:
D3DFMT_L16 -> GL_LUMINANCE16_EXT
D3DFMT_A16B16G16R16 -> GL_RGBA16_EXT
as Raphael suggested.
Also increase the returned Bpp for unknown and unhandled formats from
4 to 8 bytes - this part fixes segfault in the F.E.A.R demo. It now
shows some flashy graphics before it dies again :)
2006-04-10 12:23:38 +02:00
Stefan Dösinger
cf4b91f074
wined3d: Add WINED3DBOX to wined3d_types.h.
2006-04-07 14:55:50 +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
e71468c786
wined3d: Add WINED3DLOCKED_BOX to wined3d_types.h.
2006-04-07 11:46:36 +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
63fd9a7a98
wined3d: Add WINED3DTEXTUREFILTERTYPE to wined3d_types.h.
2006-04-06 22:22:35 +02:00
Jan Zerebecki
d4fa4f22cb
wined3d: CreateDevice should use the root window.
2006-04-04 20:34:47 +02:00
Jan Zerebecki
166b6d861d
wined3d: Output unhandled renderstates with debug_d3drenderstate.
2006-04-04 20:31:38 +02:00
Jan Zerebecki
10fc948093
wined3d: Add D3DFMT_L16.
2006-04-04 20:30:53 +02:00
Stefan Dösinger
be720179b6
wined3d: Add WINED3DCUBEMAP_FACES to wined3d_types.h.
2006-04-04 20:01:10 +02:00
Stefan Dösinger
c289b3cc51
wined3d: Define WINED3DGAMMARAMP based on D3DGAMMARAMP / DDGAMMARAMP.
2006-04-04 20:00:41 +02:00
Jason Green
bb704ea951
wined3d: Add a couple more debugging output formats.
2006-04-04 12:08:40 +02:00
Stefan Dösinger
08c38a87e1
wined3d: Add WINED3DRASTERSTATUS to wined3d_types.h.
2006-04-04 11:51:37 +02:00
Stefan Dösinger
f6ed704f96
wined3d: Make use of WINED3DDEVICE_CREATION_PARAMETERS.
2006-04-03 21:35:44 +02:00
Stefan Dösinger
0ad31f819d
wined3d: Add WINED3DBACKBUFFER_TYPE to wined3d_types.h.
2006-04-03 12:17:35 +02:00
Stefan Dösinger
fce54bcc49
wined3d: Add WINED3DDISPLAYMODE to wined3d_types.h.
2006-04-03 12:17:22 +02:00
Stefan Dösinger
a7063774b9
wined3d: Do not set the mipmap level count every time a texture is used.
2006-04-03 11:45:50 +02:00
H. Verbeet
59af5c4a62
wined3d: Move fields common to vertex shaders and pixel shaders to IWineD3DBaseShader.
2006-03-30 21:55:15 +02:00
Stefan Dösinger
6a8578f847
wined3d: Add WINED3DDEVTYPE to wined3d_types.h.
2006-03-30 12:45:57 +02:00
H. Verbeet
1e1a708e8a
wined3d: Create an IWineD3DBaseShader class.
2006-03-29 13:40:45 +02:00