diff --git a/selfdrive/ui/onroad/cameraview.py b/selfdrive/ui/onroad/cameraview.py index f46ba71401..b9f3c172bb 100644 --- a/selfdrive/ui/onroad/cameraview.py +++ b/selfdrive/ui/onroad/cameraview.py @@ -1,3 +1,4 @@ +import platform import numpy as np import pyray as rl @@ -9,8 +10,17 @@ from openpilot.system.ui.lib.egl import init_egl, create_egl_image, destroy_egl_ CONNECTION_RETRY_INTERVAL = 0.2 # seconds between connection attempts -VERTEX_SHADER = """ +VERSION = """ #version 300 es +precision mediump float; +""" +if platform.system() == "Darwin": + VERSION = """ + #version 330 core + """ + + +VERTEX_SHADER = VERSION + """ in vec3 vertexPosition; in vec2 vertexTexCoord; in vec3 vertexNormal; @@ -40,9 +50,7 @@ if TICI: } """ else: - FRAME_FRAGMENT_SHADER = """ - #version 300 es - precision mediump float; + FRAME_FRAGMENT_SHADER = VERSION + """ in vec2 fragTexCoord; uniform sampler2D texture0; uniform sampler2D texture1; diff --git a/system/ui/lib/shader_polygon.py b/system/ui/lib/shader_polygon.py index a618954660..a045c68630 100644 --- a/system/ui/lib/shader_polygon.py +++ b/system/ui/lib/shader_polygon.py @@ -1,13 +1,20 @@ +import platform import pyray as rl import numpy as np from typing import Any MAX_GRADIENT_COLORS = 15 -FRAGMENT_SHADER = """ +VERSION = """ #version 300 es precision mediump float; +""" +if platform.system() == "Darwin": + VERSION = """ + #version 330 core + """ +FRAGMENT_SHADER = VERSION + """ in vec2 fragTexCoord; out vec4 finalColor; @@ -111,8 +118,7 @@ void main() { """ # Default vertex shader -VERTEX_SHADER = """ -#version 300 es +VERTEX_SHADER = VERSION + """ in vec3 vertexPosition; in vec2 vertexTexCoord; out vec2 fragTexCoord;