diff --git a/CMakeLists.txt b/CMakeLists.txt
index bbec4a0884..25fd4731e6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,6 +13,11 @@ include("cmake/init.cmake")
include("cmake/compiler.cmake")
+if (BUILD_SCRIBE_ONLY)
+ add_subdirectory(tools/scribe)
+ return()
+endif()
+
if (NOT DEFINED SERVER_ONLY)
set(SERVER_ONLY 0)
endif()
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 1cff708c3b..ba3d16ad4d 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -18,7 +18,7 @@ android {
'-DANDROID_TOOLCHAIN=clang',
'-DANDROID_STL=c++_shared',
'-DQT_CMAKE_PREFIX_PATH=' + HIFI_ANDROID_PRECOMPILED + '/qt/lib/cmake',
- '-DNATIVE_SCRIBE=' + HIFI_ANDROID_PRECOMPILED + '/scribe',
+ '-DNATIVE_SCRIBE=' + HIFI_ANDROID_PRECOMPILED + '/scribe' + EXEC_SUFFIX,
'-DHIFI_ANDROID_PRECOMPILED=' + HIFI_ANDROID_PRECOMPILED,
'-DRELEASE_NUMBER=' + RELEASE_NUMBER,
'-DRELEASE_TYPE=' + RELEASE_TYPE,
diff --git a/android/build.gradle b/android/build.gradle
index b1ac692517..9e5e76f0e3 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -137,16 +137,16 @@ def packages = [
def scribeLocalFile='scribe' + EXEC_SUFFIX
def scribeFile='scribe_linux_x86_64'
-def scribeChecksum='c98678d9726bd8bbf1bab792acf3ff6c'
-def scribeVersion='onfeBkJWcJiTwiGOyZPVBjlyhoYQ4Axn'
+def scribeChecksum='ca4b904f52f4f993c29175ba96798fa6'
+def scribeVersion='wgpf4dB2Ltzg4Lb2jJ4nPFsHoDkmK_OO'
if (Os.isFamily(Os.FAMILY_MAC)) {
scribeFile = 'scribe_osx_x86_64'
- scribeChecksum='a137ad62c1bf7cca739da219544a9a16'
- scribeVersion='kU.Aq512HVe65uRnkFEWQEqeQfaYF2c0'
+ scribeChecksum='72db9d32d4e1e50add755570ac5eb749'
+ scribeVersion='o_NbPrktzEYtBkQf3Tn7zc1nZWzM52w6'
} else if (Os.isFamily(Os.FAMILY_WINDOWS)) {
scribeFile = 'scribe_win32_x86_64.exe'
- scribeChecksum='75c2ce9ed45d17de375e3988bfaba816'
- scribeVersion='24TfWFh1FBY.t6i_LdzAXZYeQOtmQNZp'
+ scribeChecksum='678e43d290c90fda670c6fefe038a06d'
+ scribeVersion='GCCJxlmd2irvNOFWfZR0U1UCLHndHQrC'
}
def options = [
diff --git a/cmake/macros/AutoScribeShader.cmake b/cmake/macros/AutoScribeShader.cmake
index 1919ecf00a..c4cd2d186a 100755
--- a/cmake/macros/AutoScribeShader.cmake
+++ b/cmake/macros/AutoScribeShader.cmake
@@ -39,56 +39,41 @@ function(AUTOSCRIBE_SHADER SHADER_FILE)
get_filename_component(SHADER_TARGET ${SHADER_FILE} NAME_WE)
get_filename_component(SHADER_EXT ${SHADER_FILE} EXT)
if(SHADER_EXT STREQUAL .slv)
- set(SHADER_TARGET ${SHADER_TARGET}_vert.h)
+ set(SHADER_TYPE vert)
elseif(${SHADER_EXT} STREQUAL .slf)
- set(SHADER_TARGET ${SHADER_TARGET}_frag.h)
+ set(SHADER_TYPE frag)
elseif(${SHADER_EXT} STREQUAL .slg)
- set(SHADER_TARGET ${SHADER_TARGET}_geom.h)
+ set(SHADER_TYPE geom)
endif()
+ set(SHADER_TARGET ${SHADER_TARGET}_${SHADER_TYPE})
set(SHADER_TARGET "${SHADERS_DIR}/${SHADER_TARGET}")
+ set(SHADER_TARGET_HEADER ${SHADER_TARGET}.h)
+ set(SHADER_TARGET_SOURCE ${SHADER_TARGET}.cpp)
+ set(SCRIBE_COMMAND scribe)
# Target dependant Custom rule on the SHADER_FILE
if (APPLE)
set(GLPROFILE MAC_GL)
- set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
-
- add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
elseif (ANDROID)
set(GLPROFILE LINUX_GL)
- set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
-
- # for an android build, we can't use the scribe that cmake would normally produce as a target,
- # since it's unrunnable by the cross-compiling build machine
-
- # so, we require the compiling user to point us at a compiled executable version for their native toolchain
- if (NOT NATIVE_SCRIBE)
- find_program(NATIVE_SCRIBE scribe PATHS ${SCRIBE_PATH} ENV SCRIBE_PATH)
- endif()
-
- if (NOT NATIVE_SCRIBE)
- message(FATAL_ERROR "The High Fidelity scribe tool is required for shader pre-processing. \
- Please compile scribe using your native toolchain and set SCRIBE_PATH to the path containing the scribe executable in your ENV.\
- ")
- endif ()
-
- add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND ${NATIVE_SCRIBE} ${SCRIBE_ARGS} DEPENDS ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
+ set(SCRIBE_COMMAND ${NATIVE_SCRIBE})
elseif (UNIX)
set(GLPROFILE LINUX_GL)
- set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
-
- add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
else ()
set(GLPROFILE PC_GL)
- set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
-
- add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
endif()
+ set(SCRIBE_ARGS -c++ -T ${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
+ add_custom_command(
+ OUTPUT ${SHADER_TARGET_HEADER} ${SHADER_TARGET_SOURCE}
+ COMMAND ${SCRIBE_COMMAND} ${SCRIBE_ARGS}
+ DEPENDS ${SCRIBE_COMMAND} ${SHADER_INCLUDE_FILES} ${SHADER_FILE}
+ )
#output the generated file name
- set(AUTOSCRIBE_SHADER_RETURN ${SHADER_TARGET} PARENT_SCOPE)
+ set(AUTOSCRIBE_SHADER_RETURN ${SHADER_TARGET_HEADER} ${SHADER_TARGET_SOURCE} PARENT_SCOPE)
- file(GLOB INCLUDE_FILES ${SHADER_TARGET})
+ file(GLOB INCLUDE_FILES ${SHADER_TARGET_HEADER})
endfunction()
@@ -126,7 +111,7 @@ macro(AUTOSCRIBE_SHADER_LIB)
if (WIN32)
source_group("Shaders" FILES ${SHADER_INCLUDE_FILES})
source_group("Shaders" FILES ${SHADER_SOURCE_FILES})
- source_group("Shaders" FILES ${AUTOSCRIBE_SHADER_SRC})
+ source_group("Shaders\\generated" FILES ${AUTOSCRIBE_SHADER_SRC})
endif()
list(APPEND AUTOSCRIBE_SHADER_LIB_SRC ${SHADER_INCLUDE_FILES})
@@ -136,4 +121,7 @@ macro(AUTOSCRIBE_SHADER_LIB)
# Link library shaders, if they exist
include_directories("${SHADERS_DIR}")
+ # Add search directory to find gpu/Shader.h
+ include_directories("${HIFI_LIBRARY_DIR}/gpu/src")
+
endmacro()
diff --git a/interface/resources/icons/tablet-icons/bubble-a.svg b/interface/resources/icons/tablet-icons/bubble-a.svg
index 553636bfbb..6f9c75a0c2 100644
--- a/interface/resources/icons/tablet-icons/bubble-a.svg
+++ b/interface/resources/icons/tablet-icons/bubble-a.svg
@@ -1,96 +1,15 @@
-
-
-
-
\ No newline at end of file
+
+
+
diff --git a/interface/resources/icons/tablet-icons/bubble-i.svg b/interface/resources/icons/tablet-icons/bubble-i.svg
index d7c8948e01..567a36d7ba 100644
--- a/interface/resources/icons/tablet-icons/bubble-i.svg
+++ b/interface/resources/icons/tablet-icons/bubble-i.svg
@@ -1,46 +1,19 @@
-
-