Commit Graph

452 Commits

Author SHA1 Message Date
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