summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-11-28 15:13:06 +0200
committerSergeanur <s.anureev@yandex.ua>2020-11-28 15:13:06 +0200
commit18d0fd2e48ab093b953f26b67b769a2d8ab67040 (patch)
tree30c961fc50d438433610c7896fd675173b84cb2d
parentf50a53e2907bcadd5c89781c4d9c025a45c8a113 (diff)
Add multisampling to librw
-rw-r--r--src/core/config.h1
-rw-r--r--src/fakerw/fake.cpp3
-rw-r--r--src/fakerw/rwcore.h2
-rw-r--r--src/skel/glfw/glfw.cpp5
m---------vendor/librw0
5 files changed, 9 insertions, 2 deletions
diff --git a/src/core/config.h b/src/core/config.h
index 6433a258..ead9b787 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -353,5 +353,4 @@ enum Config {
#ifdef LIBRW
// these are not supported with librw yet
-# undef MULTISAMPLING
#endif
diff --git a/src/fakerw/fake.cpp b/src/fakerw/fake.cpp
index 39606335..2e04aed2 100644
--- a/src/fakerw/fake.cpp
+++ b/src/fakerw/fake.cpp
@@ -601,6 +601,9 @@ void RwD3D8EngineSetRefreshRate(RwUInt32 refreshRate) {}
RwBool RwD3D8DeviceSupportsDXTTexture(void) { return true; }
+void RwD3D8EngineSetMultiSamplingLevels(RwUInt32 level) { Engine::setMultiSamplingLevels(level); }
+RwUInt32 RwD3D8EngineGetMaxMultiSamplingLevels(void) { return Engine::getMaxMultiSamplingLevels(); }
+
RpMaterial *RpMaterialCreate(void) { return Material::create(); }
RwBool RpMaterialDestroy(RpMaterial *material) { material->destroy(); return true; }
diff --git a/src/fakerw/rwcore.h b/src/fakerw/rwcore.h
index 31bc5541..e5d21865 100644
--- a/src/fakerw/rwcore.h
+++ b/src/fakerw/rwcore.h
@@ -411,3 +411,5 @@ RwFrame *RwCameraGetFrame(const RwCamera *camera);
void RwD3D8EngineSetRefreshRate(RwUInt32 refreshRate);
RwBool RwD3D8DeviceSupportsDXTTexture(void);
+void RwD3D8EngineSetMultiSamplingLevels(RwUInt32 level);
+RwUInt32 RwD3D8EngineGetMaxMultiSamplingLevels(void);
diff --git a/src/skel/glfw/glfw.cpp b/src/skel/glfw/glfw.cpp
index 2722a4df..617fee18 100644
--- a/src/skel/glfw/glfw.cpp
+++ b/src/skel/glfw/glfw.cpp
@@ -833,7 +833,10 @@ psSelectDevice()
PSGLOBAL(fullScreen) = !FrontEndMenuManager.m_nPrefsWindowed;
#endif
-
+
+#ifdef MULTISAMPLING
+ RwD3D8EngineSetMultiSamplingLevels(1 << FrontEndMenuManager.m_nPrefsMSAALevel);
+#endif
return TRUE;
}
diff --git a/vendor/librw b/vendor/librw
-Subproject e8990d5b3d50be72594f93dcc42d749f2976151
+Subproject 2066cf6634383e056cd5dda105e87f8da04b1ed