Skip to content
This repository has been archived by the owner on Dec 31, 2020. It is now read-only.

Commit

Permalink
Update nvtt to use icbc library.
Browse files Browse the repository at this point in the history
  • Loading branch information
castano committed Apr 14, 2020
1 parent daff427 commit a671567
Show file tree
Hide file tree
Showing 14 changed files with 4,127 additions and 1,930 deletions.
21 changes: 10 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,15 @@ set (CMAKE_CXX_STANDARD 11)

IF(WIN32)
# gnuwin32 paths:
SET(GNUWIN32_PATH "${NV_SOURCE_DIR}/extern/gnuwin32")
SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${GNUWIN32_PATH}/include")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${GNUWIN32_PATH}/lib")
#SET(GNUWIN32_PATH "${NV_SOURCE_DIR}/extern/gnuwin32")
#SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${GNUWIN32_PATH}/include")
#SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${GNUWIN32_PATH}/lib")

# Set GLUT path:
SET(GLUT_ROOT_DIR "${NV_SOURCE_DIR}/extern/glut")
#SET(GLUT_ROOT_DIR "${NV_SOURCE_DIR}/extern/glut")

# Set FreeImage path:
SET(FREEIMAGE_ROOT_DIR "${NV_SOURCE_DIR}/extern/FreeImage")

#SET(FREEIMAGE_ROOT_DIR "${NV_SOURCE_DIR}/extern/FreeImage")
ENDIF(WIN32)

INCLUDE(${NV_CMAKE_DIR}/OptimalOptions.cmake)
Expand All @@ -36,11 +35,11 @@ IF(CMAKE_BUILD_TYPE MATCHES "debug")
ENDIF()


IF(NVTT_SHARED)
SET(NVCORE_SHARED TRUE)
SET(NVMATH_SHARED TRUE)
SET(NVIMAGE_SHARED TRUE)
ENDIF(NVTT_SHARED)
#IF(NVTT_SHARED)
# SET(NVCORE_SHARED TRUE)
# SET(NVMATH_SHARED TRUE)
# SET(NVIMAGE_SHARED TRUE)
#ENDIF(NVTT_SHARED)

ADD_SUBDIRECTORY(extern)

Expand Down
2 changes: 1 addition & 1 deletion src/nvcore/nvcore.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This code is in the public domain -- Ignacio Castaño <[email protected]>
// This code is in the public domain -- Ignacio Castano <[email protected]>

#pragma once
#ifndef NV_CORE_H
Expand Down
2 changes: 1 addition & 1 deletion src/nvmath/SimdVector.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This code is in the public domain -- Ignacio Castaño <[email protected]>
// This code is in the public domain -- Ignacio Castano <[email protected]>
#pragma once

#include "nvmath.h"
Expand Down
7 changes: 4 additions & 3 deletions src/nvtt/BlockCompressor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -206,15 +206,16 @@ void FloatColorCompressor::compress(AlphaMode alphaMode, uint w, uint h, uint d,


// BC1
#include "CompressorDXT1.h"
#include "icbc.h"

void FastCompressorDXT1::compressBlock(Vector4 colors[16], float weights[16], const CompressionOptions::Private & compressionOptions, void * output)
{
compress_dxt1_fast(colors, weights, compressionOptions.colorWeight.xyz(), (BlockDXT1 *)output);
icbc::compress_dxt1_fast((float*)colors, weights, compressionOptions.colorWeight.component, output);
}
void CompressorDXT1::compressBlock(Vector4 colors[16], float weights[16], const CompressionOptions::Private & compressionOptions, void * output)
{
compress_dxt1(colors, weights, compressionOptions.colorWeight.xyz(), /*three_color_mode*/true, false, (BlockDXT1 *)output);
bool hq = compressionOptions.quality > Quality_Normal;
icbc::compress_dxt1((float*)colors, weights, compressionOptions.colorWeight.component, /*three_color_mode*/true, hq, output);
}


Expand Down
126 changes: 63 additions & 63 deletions src/nvtt/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,63 +1,63 @@
PROJECT(nvtt)

ADD_SUBDIRECTORY(squish)

SET(NVTT_SRCS
nvtt.h nvtt.cpp
nvtt_wrapper.h nvtt_wrapper.cpp
ClusterFit.h ClusterFit.cpp
Compressor.h
BlockCompressor.h BlockCompressor.cpp
CompressorDX9.h CompressorDX9.cpp
CompressorDX10.h CompressorDX10.cpp
CompressorDX11.h CompressorDX11.cpp
CompressorDXT1.h CompressorDXT1.cpp
CompressorDXT5_RGBM.h CompressorDXT5_RGBM.cpp
CompressorETC.h CompressorETC.cpp
CompressorRGB.h CompressorRGB.cpp
Context.h Context.cpp
QuickCompressDXT.h QuickCompressDXT.cpp
OptimalCompressDXT.h OptimalCompressDXT.cpp
SingleColorLookup.h SingleColorLookup.cpp
CompressionOptions.h CompressionOptions.cpp
InputOptions.h InputOptions.cpp
OutputOptions.h OutputOptions.cpp
TaskDispatcher.h #TaskDispatcher.cpp
Surface.h Surface.cpp
CubeSurface.h CubeSurface.cpp
cuda/CudaUtils.h cuda/CudaUtils.cpp
cuda/CudaMath.h
cuda/BitmapTable.h
cuda/CudaCompressorDXT.h cuda/CudaCompressorDXT.cpp)

IF (CUDA_FOUND)
ADD_DEFINITIONS(-DHAVE_CUDA)
CUDA_COMPILE(CUDA_SRCS cuda/CompressKernel.cu)
SET(NVTT_SRCS ${NVTT_SRCS} ${CUDA_SRCS})
SET(LIBS ${LIBS} ${CUDA_LIBRARIES})
INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})
ENDIF (CUDA_FOUND)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${NV_SOURCE_DIR}/extern/rg_etc1_v104)

ADD_DEFINITIONS(-DNVTT_EXPORTS)

IF(NVTT_SHARED)
ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS})
ELSE(NVTT_SHARED)
ADD_LIBRARY(nvtt ${NVTT_SRCS})
ENDIF(NVTT_SHARED)

TARGET_LINK_LIBRARIES(nvtt ${LIBS} nvcore nvimage nvthread nvsquish bc6h bc7 nvmath rg_etc1)

INSTALL(TARGETS nvtt
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static)

INSTALL(FILES nvtt.h nvtt_wrapper.h DESTINATION include/nvtt)


ADD_SUBDIRECTORY(tools)
ADD_SUBDIRECTORY(tests)
PROJECT(nvtt)

ADD_SUBDIRECTORY(squish)

SET(NVTT_SRCS
nvtt.h nvtt.cpp
nvtt_wrapper.h nvtt_wrapper.cpp
ClusterFit.h ClusterFit.cpp
Compressor.h
BlockCompressor.h BlockCompressor.cpp
CompressorDX9.h CompressorDX9.cpp
CompressorDX10.h CompressorDX10.cpp
CompressorDX11.h CompressorDX11.cpp
icbc.h icbc.cpp
CompressorDXT5_RGBM.h CompressorDXT5_RGBM.cpp
CompressorETC.h CompressorETC.cpp
CompressorRGB.h CompressorRGB.cpp
Context.h Context.cpp
QuickCompressDXT.h QuickCompressDXT.cpp
OptimalCompressDXT.h OptimalCompressDXT.cpp
SingleColorLookup.h SingleColorLookup.cpp
CompressionOptions.h CompressionOptions.cpp
InputOptions.h InputOptions.cpp
OutputOptions.h OutputOptions.cpp
TaskDispatcher.h #TaskDispatcher.cpp
Surface.h Surface.cpp
CubeSurface.h CubeSurface.cpp
cuda/CudaUtils.h cuda/CudaUtils.cpp
cuda/CudaMath.h
cuda/BitmapTable.h
cuda/CudaCompressorDXT.h cuda/CudaCompressorDXT.cpp)

IF (CUDA_FOUND)
ADD_DEFINITIONS(-DHAVE_CUDA)
CUDA_COMPILE(CUDA_SRCS cuda/CompressKernel.cu)
SET(NVTT_SRCS ${NVTT_SRCS} ${CUDA_SRCS})
SET(LIBS ${LIBS} ${CUDA_LIBRARIES})
INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})
ENDIF (CUDA_FOUND)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${NV_SOURCE_DIR}/extern/rg_etc1_v104)

ADD_DEFINITIONS(-DNVTT_EXPORTS)

IF(NVTT_SHARED)
ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS})
ELSE(NVTT_SHARED)
ADD_LIBRARY(nvtt ${NVTT_SRCS})
ENDIF(NVTT_SHARED)

TARGET_LINK_LIBRARIES(nvtt ${LIBS} nvcore nvimage nvthread nvsquish bc6h bc7 nvmath rg_etc1)

INSTALL(TARGETS nvtt
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static)

INSTALL(FILES nvtt.h nvtt_wrapper.h DESTINATION include/nvtt)


ADD_SUBDIRECTORY(tools)
ADD_SUBDIRECTORY(tests)
Loading

0 comments on commit a671567

Please sign in to comment.