Merge branch 'master' into fix-cmake-sdl2

master
Brian Clinkenbeard 2020-02-12 16:07:07 +07:00
commit 0d85b6bfe1
6 changed files with 13 additions and 5 deletions

@ -474,7 +474,7 @@ void Thread::AdjustSchedulingOnPriority(u32 old_priority) {
if (GetSchedulingStatus() != ThreadSchedStatus::Runnable) { if (GetSchedulingStatus() != ThreadSchedStatus::Runnable) {
return; return;
} }
auto& scheduler = Core::System::GetInstance().GlobalScheduler(); auto& scheduler = kernel.GlobalScheduler();
if (processor_id >= 0) { if (processor_id >= 0) {
scheduler.Unschedule(old_priority, static_cast<u32>(processor_id), this); scheduler.Unschedule(old_priority, static_cast<u32>(processor_id), this);
} }
@ -506,7 +506,7 @@ void Thread::AdjustSchedulingOnPriority(u32 old_priority) {
} }
void Thread::AdjustSchedulingOnAffinity(u64 old_affinity_mask, s32 old_core) { void Thread::AdjustSchedulingOnAffinity(u64 old_affinity_mask, s32 old_core) {
auto& scheduler = Core::System::GetInstance().GlobalScheduler(); auto& scheduler = kernel.GlobalScheduler();
if (GetSchedulingStatus() != ThreadSchedStatus::Runnable || if (GetSchedulingStatus() != ThreadSchedStatus::Runnable ||
current_priority >= THREADPRIO_COUNT) { current_priority >= THREADPRIO_COUNT) {
return; return;

@ -117,7 +117,7 @@ bool NullBackend::SynchronizeDirectory(TitleIDVersion title, std::string name,
} }
bool NullBackend::Clear(u64 title_id) { bool NullBackend::Clear(u64 title_id) {
LOG_DEBUG(Service_BCAT, "called, title_id={:016X}"); LOG_DEBUG(Service_BCAT, "called, title_id={:016X}", title_id);
return true; return true;
} }

@ -862,7 +862,11 @@ public:
float point_size; float point_size;
INSERT_UNION_PADDING_WORDS(0x7); INSERT_UNION_PADDING_WORDS(0x1);
u32 point_sprite_enable;
INSERT_UNION_PADDING_WORDS(0x5);
u32 zeta_enable; u32 zeta_enable;
@ -1494,6 +1498,7 @@ ASSERT_REG_POSITION(vb_element_base, 0x50D);
ASSERT_REG_POSITION(vb_base_instance, 0x50E); ASSERT_REG_POSITION(vb_base_instance, 0x50E);
ASSERT_REG_POSITION(clip_distance_enabled, 0x544); ASSERT_REG_POSITION(clip_distance_enabled, 0x544);
ASSERT_REG_POSITION(point_size, 0x546); ASSERT_REG_POSITION(point_size, 0x546);
ASSERT_REG_POSITION(point_sprite_enable, 0x548);
ASSERT_REG_POSITION(zeta_enable, 0x54E); ASSERT_REG_POSITION(zeta_enable, 0x54E);
ASSERT_REG_POSITION(multisample_control, 0x54F); ASSERT_REG_POSITION(multisample_control, 0x54F);
ASSERT_REG_POSITION(condition, 0x554); ASSERT_REG_POSITION(condition, 0x554);

@ -1220,6 +1220,7 @@ void RasterizerOpenGL::SyncPointState() {
// Limit the point size to 1 since nouveau sometimes sets a point size of 0 (and that's invalid // Limit the point size to 1 since nouveau sometimes sets a point size of 0 (and that's invalid
// in OpenGL). // in OpenGL).
state.point.program_control = regs.vp_point_size.enable != 0; state.point.program_control = regs.vp_point_size.enable != 0;
state.point.sprite = regs.point_sprite_enable != 0;
state.point.size = std::max(1.0f, regs.point_size); state.point.size = std::max(1.0f, regs.point_size);
} }

@ -128,6 +128,7 @@ void OpenGLState::ApplyClipDistances() {
void OpenGLState::ApplyPointSize() { void OpenGLState::ApplyPointSize() {
Enable(GL_PROGRAM_POINT_SIZE, cur_state.point.program_control, point.program_control); Enable(GL_PROGRAM_POINT_SIZE, cur_state.point.program_control, point.program_control);
Enable(GL_POINT_SPRITE, cur_state.point.sprite, point.sprite);
if (UpdateValue(cur_state.point.size, point.size)) { if (UpdateValue(cur_state.point.size, point.size)) {
glPointSize(point.size); glPointSize(point.size);
} }

@ -132,6 +132,7 @@ public:
struct { struct {
bool program_control = false; // GL_PROGRAM_POINT_SIZE bool program_control = false; // GL_PROGRAM_POINT_SIZE
bool sprite = false; // GL_POINT_SPRITE
GLfloat size = 1.0f; // GL_POINT_SIZE GLfloat size = 1.0f; // GL_POINT_SIZE
} point; } point;