Commit Graph

7445 Commits

Author SHA1 Message Date
RadWolfie 59d635821a
Update .gitattributes 2021-02-05 04:58:02 -06:00
RadWolfie 2bb2e5c3d4
fix linguist stats 2021-02-05 04:45:30 -06:00
ergo720 d26e028125
Merge pull request #2129 from RadWolfie/update-readme
Update Prerequisites Section
2021-02-02 13:46:18 +01:00
RadWolfie 4056974209
review remark 2021-02-02 06:31:42 -06:00
RadWolfie 87196b8231
remove extra line 2021-02-02 05:16:01 -06:00
RadWolfie 463277c5d8
add notice + fix header 2021-02-02 05:14:48 -06:00
RadWolfie 6166a6ee85
update prerequisites section 2021-02-02 04:59:05 -06:00
Margen67 049a070a10
ci: Improvements (#2021)
Simplify ignored paths.
Opt out of PowerShell telemetry.
Delete Wine VS2017 removal comment.
Make checkout fetch-depth 0.
Capitalize CMake.
upload-artifact:
 Update to v2.
 Simplify path. (/** isn't needed)
 if-no-files-found: error.
release:
 Switch to ubuntu-20.04.
 Prettify if condition.
 Use download-artifact v2;
  This allows all artifacts to be downloaded.
 Iterate through artifacts instead of manually naming/hard coding them.
 Switch to create-release v1;
  This tag is the latest version.
 Use hub release instead of upload-release-asset.
2021-02-01 16:55:55 -06:00
Luke Usher f390c79bdf
Merge pull request #2014 from NZJenkins/experiment/fixedfunc3
HLSL fixed function implementation
2021-01-31 09:27:19 +00:00
PatrickvL ad7328d963
Merge pull request #2127 from LukeUsher/shader-model-tweaks
vs: use model 2.a primarily, with 3.0 fallback
2021-01-30 10:34:53 +01:00
Luke Usher 3abddb5983 vs: use model 2.a primarily, with 3.0 fallback 2021-01-29 20:31:46 +00:00
RadWolfie 2331816a99 review remarks 2021-01-28 10:30:31 +00:00
Anthony b6db19e353 Add hlsl files to install 2021-01-28 19:24:09 +13:00
Anthony 24b38ae3b3 Point sprite fixes
* Implement Min and Max
* Account for upscaling
2021-01-27 22:48:06 +13:00
Anthony 5441dbff1c Fix LocalViewer again, and move it to where it's used 2021-01-27 22:48:06 +13:00
Anthony 8a5c9a6445 Consolidate lighting calculations 2021-01-27 22:48:06 +13:00
Anthony c722d80503 Get view transform from transform state 2021-01-27 22:48:05 +13:00
Anthony 54e0c08ef1 Let MultiplyTransform call SetTransform
Detect if it didn't
2021-01-27 22:48:05 +13:00
Anthony c77582524d Fix incorrect toViewer vector when LocalViewer is enabled 2021-01-27 22:48:05 +13:00
PatrickvL 134dd70117 Optimize away SpecularEnable and PointScaleEnable, by resetting the related variables on CPU.
This shaves off almost 50 vertex shader instructions (down to 705 with this).
2021-01-27 22:48:05 +13:00
PatrickvL bd76d67c78 Indentation fixes & add a 'const' prefix to all single-assigned variables, and 'static' for all literal assignments. 2021-01-27 22:48:05 +13:00
PatrickvL 39e91ffec6 Fixed Function HLSL : Optimized ColorVertex handling in DoMaterial, by removing it's check froM HLSL, and replace that by CPU replacing all MaterialSource's with D3DMCS_MATERIAL when X_D3DRS_COLORVERTEX is disabled. This shaves off 13 vertex shader instructions. 2021-01-27 22:48:05 +13:00
PatrickvL 0245cc6ee8 Optimized vertex blending by only recalculating the required world/view matrices, and a simplified HLSL implementation 2021-01-27 22:48:05 +13:00
PatrickvL 8200cd8e43 Fixed Function : Extract method D3D8TransformState::RecalculateDependentMatrices, called via two getters using a dirty boolean, preventing needless recalculations. 2021-01-27 22:48:05 +13:00
PatrickvL 8b8d1e0d39 Fixed Function : Fixed CXBX_ALL_TEXCOORD_INPUTS build, avoid ambiguous symbol redeclaration 2021-01-27 22:48:05 +13:00
Anthony 43be445c37 Copy constants regardless of dirty state 2021-01-27 22:48:05 +13:00
Anthony Miles b4685c1dc2 Initialize all registers for fixed function mode 2021-01-27 22:48:05 +13:00
Anthony Miles f98d040a65 Enable fixed function vertex shader
- Various bits of glue code
- Toggle Shader/D3D9 with F2
- Replace vertex shader mode flags with enum
2021-01-27 22:48:05 +13:00
Anthony 5720444c6b Fix normal transformations
- Keep track of transforms set by the title
- Transform normals by the inverse transpose of the position transform
- X_D3DTRANSFORMSTATETYPE enum
2021-01-27 22:48:05 +13:00
Anthony Miles 3bfad0327f Xbox fixed function vertex shader (not yet enabled)
The shader should behave similarly to D3D9's fixed function pipeline
But supports Xbox extensions and helps to move off D3D9
Co-authored with PatrickVL
2021-01-27 22:48:05 +13:00
Anthony Miles 99a96e675d Add FixedFunctionState to keep track of D3D fixed function lights 2021-01-27 22:48:05 +13:00
Anthony Miles ddc62ad00e Extract HLSL compilation to a method 2021-01-27 22:48:05 +13:00
ergo720 f44f35f6fa
Merge pull request #2076 from RadWolfie/add-cmake-install
Implement CMake Install Support
2021-01-26 13:48:36 +01:00
PatrickvL fe398a4562
Merge pull request #2126 from NZJenkins/fix-wm-paint
Ensure WM_PAINT is handled correctly
2021-01-26 09:52:09 +01:00
Anthony 20549fec19 Ensure WM_PAINT is handled correctly
Otherwise, Windows will send WM_PAINT messages non-stop and burn CPU doing nothing
This fixes an odd behaviour where moving the mouse over the window could increase FPS
2021-01-26 20:08:58 +13:00
Luke Usher ae43ded58b
Merge pull request #2125 from Cxbx-Reloaded/revert-2109-fix-vsh-initialize
Revert "Initialize vertex shader outputs to vertex shader attribute values"
2021-01-21 09:45:30 +00:00
NZJenkins 515df2b533
Revert "Initialize vertex shader outputs to vertex shader attribute values" 2021-01-21 21:59:51 +13:00
PatrickvL 8c1ee7d755
Merge pull request #2124 from Cxbx-Reloaded/revert-2122-high-perf-graphics-ldr
Revert "Export high performance graphics hints in cxbxr-ldr.exe"
2021-01-20 09:56:21 +01:00
PatrickvL b3f1e610ba
Merge pull request #2123 from NZJenkins/optimize-cnk2
Reduce the amount of work done per draw
2021-01-20 09:55:25 +01:00
RadWolfie 7e838ff677 workflow: update azure-pipelines.yml to use CMake's install method 2021-01-19 23:23:56 +00:00
RadWolfie 8d741e66d3 workflow: update appveyor.yml to use CMake's install method 2021-01-19 23:23:56 +00:00
RadWolfie e39a9a0420 workflow: update GitHub Action CI yml to use CMake's install method 2021-01-19 23:23:56 +00:00
RadWolfie ab01047450 cmake: add CMake install method 2021-01-19 23:23:56 +00:00
RadWolfie 6f62ec001b update submodules' fixes 2021-01-19 23:23:56 +00:00
Anthony d7f0957cba Note why LOG_TEST_CASE is where it is 2021-01-19 01:47:02 +13:00
RadWolfie dab91c1913
remove broken source file path originally in pull request 2021-01-18 05:42:38 -06:00
Anthony ce369a6259 PR cleanup
* Create index cache size variable
* Use std::optional
* Make PreviousStates a class variable
* Remove double-cast
* Use LOG_TEST_CASE in VertexShaderSource
Also move LOG_TEST_CASE to CxbxKrnl.h since it's unuseable from Logging.h
2021-01-19 00:32:56 +13:00
Luke Usher 29719e8fc1
Revert "Export high performance graphics hints in cxbxr-ldr.exe" 2021-01-17 22:03:42 +00:00
Anthony 27dbf03743 Only parse a vertex shader if we can't find it in the cache
Try to clean up and rationalize some things along the way
* GetVshFunctionSize lets us hash an Xbox vsh function, so we can check the cache before trying to parse it
* Consider that the vertex shader header won't be passed to the shader parsing code anymore:
  Combine header/headerless paths in EmuParseVertexShader
  Drop Header information from IntermediateVertexShader as it's no longer used
  Remove EmuGetShaderInfo which looked at the header
* Make XboxVertexShaderDecoder static method in a namespace
2021-01-17 20:26:44 +13:00
Anthony 301205051b Increase vertex buffer cache size
Improves performance in Crash Nitro Kart, which did more draws per frame than the cache size.
2021-01-17 20:25:48 +13:00