Compare commits

..
7 Commits
Author SHA1 Message Date
lightningterror 7a9af33f7d GS: Update intel igpu/dgpu auto renderer.
Ivy Bridge and below default to Direct3D11.

Haswell/Broadwell default to OpenGL.

Skylake and above default to Direct3D12.
2026-09-13 06:01:25 +02:00
lightningterror f8ea1477f6 GS/GL: Check if RGBA16 UNORM is hw blendable, if not then fallback to RGBA16 Float. 2026-09-13 05:48:46 +02:00
lightningterror f13b70f6a0 GS/GL: Use correct formats for ColorHQ, ColorHDR.
ColorHQ: GL_RGB10_A2.
ColorHDR: GL_RGBA16F.
2026-09-13 05:48:46 +02:00
lightningterror 393278fe4d GS: Make sure ColorHDR is treated as a feedbackloop format.
It is used as a fallback when hw blending isn't supported on RGBA16 UNORM.
2026-09-13 05:48:46 +02:00
SternXD 37a8be7b42 MSBuild: Replace .sln with new .slnx format 2026-09-11 08:52:16 -04:00
dependabot[bot] 4cdda8d99b Deps/gha: Bump the ci-deps group with 2 updates
Bumps the ci-deps group with 2 updates: [flatpak/flatpak-github-actions/flatpak-builder](https://github.com/flatpak/flatpak-github-actions) and [flatpak/flatpak-github-actions/flat-manager](https://github.com/flatpak/flatpak-github-actions).


Updates `flatpak/flatpak-github-actions/flatpak-builder` from 6.7 to 6.8
- [Release notes](https://github.com/flatpak/flatpak-github-actions/releases)
- [Commits](https://github.com/flatpak/flatpak-github-actions/compare/401fe28a8384095fc1531b9d320b292f0ee45adb...79327416609af08178ad73b352877e51450790b3)

Updates `flatpak/flatpak-github-actions/flat-manager` from 6.7 to 6.8
- [Release notes](https://github.com/flatpak/flatpak-github-actions/releases)
- [Commits](https://github.com/flatpak/flatpak-github-actions/compare/401fe28a8384095fc1531b9d320b292f0ee45adb...79327416609af08178ad73b352877e51450790b3)

---
updated-dependencies:
- dependency-name: flatpak/flatpak-github-actions/flatpak-builder
  dependency-version: '6.8'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci-deps
- dependency-name: flatpak/flatpak-github-actions/flat-manager
  dependency-version: '6.8'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 11:41:56 +02:00
lightningterror a5fc5aefc9 GS/DX12: Enable dx12 support on haswell/broadwell if supported.
Could be useful for testing, also there's no need to lock it out even if it has issues as it can come in handy similar to Fermi.
2026-09-11 03:13:30 +02:00
12 changed files with 568 additions and 1063 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
* text=auto
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
*.slnx text eol=crlf
*.props text eol=crlf
*.vcxproj text eol=crlf
*.vcxproj.filters text eol=crlf
+2 -2
View File
@@ -6,8 +6,8 @@
- any-glob-to-any-file:
- '.github/*'
- '.github/**/*'
- '*.sln'
- '**/*.sln'
- '*.slnx'
- '**/*.slnx'
- '*.vcxproj*'
- '**/*.vcxproj*'
- 'cmake/*'
+4 -4
View File
@@ -93,7 +93,7 @@ jobs:
- name: Build Flatpak (beta)
if: ${{ inputs.stableBuild == false || inputs.stableBuild == 'false' }}
uses: flatpak/flatpak-github-actions/flatpak-builder@401fe28a8384095fc1531b9d320b292f0ee45adb
uses: flatpak/flatpak-github-actions/flatpak-builder@79327416609af08178ad73b352877e51450790b3
with:
bundle: ${{ steps.artifact-metadata.outputs.artifact-name }}.flatpak
upload-artifact: false
@@ -109,7 +109,7 @@ jobs:
- name: Build Flatpak (stable)
if: ${{ inputs.stableBuild == true || inputs.stableBuild == 'true' }}
uses: flatpak/flatpak-github-actions/flatpak-builder@401fe28a8384095fc1531b9d320b292f0ee45adb
uses: flatpak/flatpak-github-actions/flatpak-builder@79327416609af08178ad73b352877e51450790b3
with:
bundle: ${{ steps.artifact-metadata.outputs.artifact-name }}.flatpak
upload-artifact: false
@@ -129,7 +129,7 @@ jobs:
- name: Push to Flathub (beta)
if: ${{ inputs.publish == true && (inputs.stableBuild == false || inputs.stableBuild == 'false') }}
uses: flatpak/flatpak-github-actions/flat-manager@401fe28a8384095fc1531b9d320b292f0ee45adb
uses: flatpak/flatpak-github-actions/flat-manager@79327416609af08178ad73b352877e51450790b3
with:
flat-manager-url: https://hub.flathub.org/
repository: beta
@@ -138,7 +138,7 @@ jobs:
- name: Push to Flathub (stable)
if: ${{ inputs.publish == true && (inputs.stableBuild == true || inputs.stableBuild == 'true') }}
uses: flatpak/flatpak-github-actions/flat-manager@401fe28a8384095fc1531b9d320b292f0ee45adb
uses: flatpak/flatpak-github-actions/flat-manager@79327416609af08178ad73b352877e51450790b3
with:
flat-manager-url: https://hub.flathub.org/
repository: stable
+1 -1
View File
@@ -145,7 +145,7 @@ jobs:
cmake --build build --config Release || exit /b
cmake --install build --config Release || exit /b
) else (
msbuild "PCSX2_qt.sln" /m /v:m /p:Configuration="${{ inputs.configuration }}" /p:Platform="${{ inputs.platform }}" || exit /b
msbuild "PCSX2_qt.slnx" /m /v:m /p:Configuration="${{ inputs.configuration }}" /p:Platform="${{ inputs.platform }}" || exit /b
)
REM We can use Segoe UI Emoji so we don't need to bundle this
del bin\resources\fonts\Twemoji*
-1018
View File
File diff suppressed because it is too large Load Diff
+485
View File
@@ -0,0 +1,485 @@
<Solution>
<Configurations>
<BuildType Name="Debug" />
<BuildType Name="Debug AVX2" />
<BuildType Name="Debug Clang" />
<BuildType Name="Debug Clang AVX2" />
<BuildType Name="Devel" />
<BuildType Name="Devel AVX2" />
<BuildType Name="Devel Clang" />
<BuildType Name="Devel Clang AVX2" />
<BuildType Name="Release" />
<BuildType Name="Release AVX2" />
<BuildType Name="Release Clang" />
<BuildType Name="Release Clang AVX2" />
<Platform Name="ARM64" />
<Platform Name="x64" />
</Configurations>
<Folder Name="/3rdparty/">
<Project Path="3rdparty/ccc/ccc.vcxproj" Id="2589f8ce-ea77-4b73-911e-64074569795b">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/cpuinfo/cpuinfo.vcxproj" Id="7e183337-a7e9-460c-9d3d-568bc9f9bcc1">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/cubeb/cubeb.vcxproj" Id="bf74c473-dc04-44b3-92e8-4145f4e77342">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/d3d12memalloc/d3d12memalloc.vcxproj" Id="d45cec7a-3171-40dd-975d-e1544cf16139">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/demangler/demangler.vcxproj" Id="d31a6dd1-99ca-41d8-a230-1fae913c8989">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/discord-rpc/discord-rpc.vcxproj" Id="e960dfdf-1bd3-4c29-b251-d1a0919c9b09">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/fmt/fmt.vcxproj" Id="449ad25e-424a-4714-babc-68706cdcc33b">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/freesurround/freesurround.vcxproj" Id="1dd0b31f-37f0-4a36-a521-74133aca4737">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/glad/glad.vcxproj" Id="c0293b32-5acf-40f0-aa6c-e6da6f3bf33a">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/imgui/imgui.vcxproj" Id="88fb34ec-845e-4f21-a552-f1573b9ed167">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/libchdr/libchdr.vcxproj" Id="a0d2b3ad-1f72-4ee3-8b5c-f2c358da35f0">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/libzip/libzip.vcxproj" Id="20b2e9fe-f020-42a0-b324-956f5b06ea68">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/lzma/lzma.vcxproj" Id="a4323327-3f2b-4271-83d9-7f9a3c66b6b2">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/rainterface/rainterface.vcxproj" Id="95dd0a0c-d14d-4cff-a593-820ef26efcc8">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/rcheevos/rcheevos.vcxproj" Id="6d5b5ad9-1525-459b-939f-a5e1082af6b3">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/simpleini/simpleini.vcxproj" Id="1ec8b3c0-8fb3-46de-a2e0-a9121203f266">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/soundtouch/SoundTouch.vcxproj" Id="e9b51944-7e6d-4bcd-83f2-7bbd5a46182d">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/vixl/vixl.vcxproj" Id="8906836e-f06e-46e8-b11a-74e5e8c7b8fb">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="*|x64" Project="false" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="3rdparty/zydis/zydis.vcxproj" Id="67d0160c-0fe4-44b9-ac2e-82bbcf4104df">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="*|ARM64" Project="false" />
</Project>
</Folder>
<Project Path="common/common.vcxproj" Id="4639972e-424e-4e13-8b07-ca403c481346">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="pcsx2-gsrunner/pcsx2-gsrunner.vcxproj" Id="bb98bf81-a132-444a-bb81-96d510f433a8">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Project="false" />
</Project>
<Project Path="pcsx2-qt/pcsx2-qt.vcxproj" Id="2a016f21-87ae-4154-8271-1f57e91408e9">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="pcsx2/pcsx2.vcxproj" Id="6c7986c4-3e4d-4dcc-b3c6-6bb12b238995">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
<Project Path="updater/updater.vcxproj" Id="90bbdc04-cc44-4006-b893-06a4fea8ed47">
<BuildType Solution="Debug AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug Clang AVX2|ARM64" Project="Debug Clang" />
<BuildType Solution="Debug|ARM64" Project="Debug Clang" />
<BuildType Solution="Devel AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel Clang AVX2|ARM64" Project="Devel Clang" />
<BuildType Solution="Devel|ARM64" Project="Devel Clang" />
<BuildType Solution="Release AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release Clang AVX2|ARM64" Project="Release Clang" />
<BuildType Solution="Release|ARM64" Project="Release Clang" />
<Build Solution="Debug AVX2|ARM64" Project="false" />
<Build Solution="Debug Clang AVX2|ARM64" Project="false" />
<Build Solution="Debug|ARM64" Project="false" />
<Build Solution="Devel AVX2|ARM64" Project="false" />
<Build Solution="Devel Clang AVX2|ARM64" Project="false" />
<Build Solution="Devel|ARM64" Project="false" />
<Build Solution="Release AVX2|ARM64" Project="false" />
<Build Solution="Release Clang AVX2|ARM64" Project="false" />
<Build Solution="Release|ARM64" Project="false" />
</Project>
</Solution>
+1 -1
View File
@@ -200,7 +200,7 @@ u32 GSTexture::CalcUploadSize(Format format, u32 height, u32 pitch)
bool GSTexture::IsFeedbackFormat(Format format)
{
return format == Format::Color || format == Format::ColorClip ||
return format == Format::Color || format == Format::ColorClip || format == Format::ColorHDR ||
format == Format::DepthColor || format == Format::DepthStencil;
}
+29 -14
View File
@@ -374,6 +374,8 @@ GSRendererType D3D::GetPreferredRenderer()
Console.WriteLn("D3D11 feature level for autodetection: %x", static_cast<unsigned>(feature_level));
return feature_level;
};
/*
const auto get_d3d12_device = [&adapter]() {
wil::com_ptr_nothrow<ID3D12Device> device;
const HRESULT hr = D3D12CreateDevice(adapter.get(), D3D_FEATURE_LEVEL_12_0, IID_PPV_ARGS(device.put()));
@@ -381,6 +383,7 @@ GSRendererType D3D::GetPreferredRenderer()
Console.Error("D3D12CreateDevice() for automatic renderer failed: %08X", hr);
return device;
};
#ifdef ENABLE_VULKAN
static constexpr auto check_vulkan_supported = []() {
if (!GSDeviceVK::EnumerateGPUs().empty())
@@ -395,6 +398,7 @@ GSRendererType D3D::GetPreferredRenderer()
#else
static constexpr auto check_vulkan_supported = []() { return false; };
#endif
*/
switch (GetVendorID(adapter.get()))
{
@@ -432,26 +436,37 @@ GSRendererType D3D::GetPreferredRenderer()
// Sampler feedback Tier 0.9 is only present in Tiger Lake/Xe/Arc, so we can use that to
// differentiate between them. Unfortunately, that requires a D3D12 device.
const auto device12 = get_d3d12_device();
if (device12)
const std::optional<D3D_FEATURE_LEVEL> feature_level = get_d3d11_feature_level();
if (!feature_level.has_value())
return GSRendererType::DX11;
else if (feature_level == D3D_FEATURE_LEVEL_12_0)
{
D3D12_FEATURE_DATA_D3D12_OPTIONS7 opts = {};
if (SUCCEEDED(device12->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS7, &opts, sizeof(opts))) &&
(opts.SamplerFeedbackTier >= D3D12_SAMPLER_FEEDBACK_TIER_0_9) &&
check_vulkan_supported())
return GSRendererType::DX12;
/*
// Keep the old code as a reference if we need it.
const auto device12 = get_d3d12_device();
if (device12)
{
Console.WriteLn("Sampler feedback tier 0.9 found for Intel GPU, defaulting to Vulkan.");
return GSRendererType::VK;
D3D12_FEATURE_DATA_D3D12_OPTIONS7 opts = {};
if (SUCCEEDED(device12->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS7, &opts, sizeof(opts))) &&
(opts.SamplerFeedbackTier >= D3D12_SAMPLER_FEEDBACK_TIER_0_9) &&
check_vulkan_supported())
{
Console.WriteLn("Sampler feedback tier 0.9 found for Intel GPU, defaulting to Vulkan.");
return GSRendererType::VK;
}
else
return GSRendererType::OGL;
}
else
{
Console.WriteLn("Sampler feedback tier 0.9 or Vulkan not found for Intel GPU, using OpenGL.");
return GSRendererType::OGL;
}
*/
}
Console.WriteLn("Sampler feedback tier 0.9 or Direct3D 12 not found for Intel GPU, using Direct3D 11.");
return GSRendererType::DX11;
else if (feature_level == D3D_FEATURE_LEVEL_11_1)
return GSRendererType::OGL;
else
return GSRendererType::DX11;
}
break;
+3 -7
View File
@@ -289,16 +289,12 @@ bool GSDevice12::CreateDevice(u32& vendor_id)
// Create the actual device.
// Intel Haswell DX12 support is specific:
// Newerest drivers have dx12 support disabled so the last driver to support dx12 is 15.40.42.5063.
// Newer drivers have dx12 support disabled so the last driver to support dx12 is 15.40.42.5063.
// Shader cache must be also disabled, and make sure Debug Device option is disabled as well.
// Let's enable it on dev/debug for testing purposes so we don't have to change this all the time.
// Let's enable it for testing purposes so we don't have to change this all the time, and
// might be handy for the tweakers that want to run dx12.
// TODO: Find out the status of Broadwell.
#ifdef PCSX2_DEVBUILD
hr = D3D12CreateDevice(m_adapter.get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_device));
#else
const bool isIntel = (vendor_id == 0x163C || vendor_id == 0x8086 || vendor_id == 0x8087);
hr = D3D12CreateDevice(m_adapter.get(), isIntel ? D3D_FEATURE_LEVEL_12_0 : D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_device));
#endif
if (FAILED(hr))
{
+23 -11
View File
@@ -724,9 +724,9 @@ bool GSDeviceOGL::CreateTextureFX()
bool GSDeviceOGL::CheckFeatures()
{
//bool vendor_id_amd = false;
//bool vendor_id_nvidia = false;
//bool vendor_id_intel = false;
bool vendor_id_amd = false;
bool vendor_id_nvidia = false;
bool vendor_id_intel = false;
memset(&m_bugs, 0, sizeof(m_bugs));
@@ -735,18 +735,18 @@ bool GSDeviceOGL::CheckFeatures()
std::strstr(vendor, "ATI"))
{
Console.WriteLn(Color_StrongRed, "GL: AMD GPU detected.");
//vendor_id_amd = true;
vendor_id_amd = true;
}
else if (std::strstr(vendor, "NVIDIA Corporation"))
{
Console.WriteLn(Color_StrongGreen, "GL: NVIDIA GPU detected.");
//vendor_id_nvidia = true;
vendor_id_nvidia = true;
m_bugs.broken_blend_coherency = true;
}
else if (std::strstr(vendor, "Intel"))
{
Console.WriteLn(Color_StrongBlue, "GL: Intel GPU detected.");
//vendor_id_intel = true;
vendor_id_intel = true;
}
GLint major_gl = 0;
@@ -906,15 +906,27 @@ bool GSDeviceOGL::CheckFeatures()
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size);
m_max_texture_size = std::max(1024u, static_cast<u32>(max_texture_size));
Console.WriteLn("GL: Using %s for point expansion, %s for line expansion and %s for sprite expansion.",
m_features.point_expand ? "hardware" : (m_features.vs_expand ? "vertex expanding" : "UNSUPPORTED"),
m_features.line_expand ? "hardware" : (m_features.vs_expand ? "vertex expanding" : "UNSUPPORTED"),
m_features.vs_expand ? "vertex expanding" : "CPU");
// Unlikely to be supported on Windows if device is stuck on GL 3.3 which is usually equivalent to feature level 10.0.
// This should also target any proprietary drivers on linux.
// Open source drivers shouldn't be hit since they have different vendor names.
if ((vendor_id_amd || vendor_id_nvidia || vendor_id_intel) && GLAD_GL_VERSION_3_3 && !GLAD_GL_VERSION_4_0)
m_rgba16_unorm_hw_blend = false;
else
m_rgba16_unorm_hw_blend = true;
if (!GLAD_GL_ARB_conservative_depth)
{
Console.Warning("GLAD_GL_ARB_conservative_depth is not supported. This will reduce performance.");
}
Console.WriteLn("GL: Using %s for point expansion, %s for line expansion and %s for sprite expansion.",
m_features.point_expand ? "hardware" : (m_features.vs_expand ? "vertex expanding" : "UNSUPPORTED"),
m_features.line_expand ? "hardware" : (m_features.vs_expand ? "vertex expanding" : "UNSUPPORTED"),
m_features.vs_expand ? "vertex expanding" : "CPU");
Console.WriteLnFmt("GL: DXTn Texture Compression: {}", m_features.dxt_textures ? "Supported" : "Not Supported");
Console.WriteLnFmt("GL: BC6/7 Texture Compression: {}", m_features.bptc_textures ? "Supported" : "Not Supported");
Console.WriteLnFmt("GL: RGBA16 UNORM Hardware Blending: {}", m_rgba16_unorm_hw_blend ? "Supported" : "Not Supported");
m_features.aa1 = GSConfig.HWAA1 && m_features.vs_expand && m_features.feedback_loops();
@@ -2898,7 +2910,7 @@ void GSDeviceOGL::RenderHW(GSHWDrawConfig& config)
{
config.colclip_update_area = config.drawarea;
colclip_rt = CreateFeedbackTarget(rtsize.x, rtsize.y, GSTexture::Format::ColorClip, false);
colclip_rt = CreateFeedbackTarget(rtsize.x, rtsize.y, m_rgba16_unorm_hw_blend ? GSTexture::Format::ColorClip : GSTexture::Format::ColorHDR, false);
if (!colclip_rt)
{
+1
View File
@@ -159,6 +159,7 @@ private:
} m_bugs;
bool m_disable_download_pbo = false;
bool m_rgba16_unorm_hw_blend = false;
GLuint m_fbo = 0; // frame buffer container
GLuint m_fbo_read = 0; // frame buffer container only for reading
+18 -4
View File
@@ -34,7 +34,7 @@ GSTextureOGL::GSTextureOGL(Usage usage, int width, int height, int levels, Forma
// Bunch of constant parameter
switch (m_format)
{
// 1 Channel integer
// 1 channel integer
case Format::PrimID:
m_gl_format = GL_R32F;
m_int_format = GL_RED;
@@ -54,7 +54,7 @@ GSTextureOGL::GSTextureOGL(Usage usage, int width, int height, int levels, Forma
m_int_shift = 1;
break;
// 1 Channel normalized
// 1 channel normalized
case Format::UNorm8:
m_gl_format = GL_R8;
m_int_format = GL_RED;
@@ -72,15 +72,29 @@ GSTextureOGL::GSTextureOGL(Usage usage, int width, int height, int levels, Forma
// 4 channel normalized
case Format::Color:
case Format::ColorHQ:
case Format::ColorHDR:
m_gl_format = GL_RGBA8;
m_int_format = GL_RGBA;
m_int_type = GL_UNSIGNED_BYTE;
m_int_shift = 2;
break;
// 4 channel normalized with 2 bits of alpha
case Format::ColorHQ:
m_gl_format = GL_RGB10_A2;
m_int_format = GL_RGBA;
m_int_type = GL_UNSIGNED_INT_2_10_10_10_REV;
m_int_shift = 2;
break;
// 4 channel float
case Format::ColorHDR:
m_gl_format = GL_RGBA16F;
m_int_format = GL_RGBA;
m_int_type = GL_HALF_FLOAT;
m_int_shift = 3;
break;
// 4 channel normalized
case Format::ColorClip:
m_gl_format = GL_RGBA16;
m_int_format = GL_RGBA;