Integrating up through commit 90f050496
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
#
|
||||
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
# its licensors.
|
||||
#
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this
|
||||
# distribution (the "License"). All use of this software is governed by the License,
|
||||
# or, if provided, by the license below or the license accompanying this file. Do not
|
||||
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
|
||||
ly_add_external_target(
|
||||
NAME ispctexcomp
|
||||
VERSION 1.0.0
|
||||
3RDPARTY_ROOT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../External/ISPCTextureCompressor
|
||||
INCLUDE_DIRECTORIES win_x64/include
|
||||
)
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
#
|
||||
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
# its licensors.
|
||||
#
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this
|
||||
# distribution (the "License"). All use of this software is governed by the License,
|
||||
# or, if provided, by the license below or the license accompanying this file. Do not
|
||||
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
|
||||
set(ISPCTEXCOMP_LIBS ${BASE_PATH}/win_x64/lib/ispc_texcomp.lib)
|
||||
|
||||
set(ISPCTEXCOMP_RUNTIME_DEPENDENCIES ${BASE_PATH}/win_x64/bin/ispc_texcomp.dll)
|
||||
Vendored
-22
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"platform": {
|
||||
"win_x64_vs2017": {
|
||||
"includes": [
|
||||
"win_x64/include"
|
||||
],
|
||||
"importlibpath": [
|
||||
"win_x64/lib"
|
||||
],
|
||||
"sharedlibpath": [
|
||||
"win_x64/bin"
|
||||
],
|
||||
"import": [
|
||||
"ispc_texcomp.lib"
|
||||
],
|
||||
"shared": [
|
||||
"ispc_texcomp.dll"
|
||||
]
|
||||
},
|
||||
"win_x64_vs2019": "@win_x64_vs2017"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"name": "ispctexturecompressor",
|
||||
"source": "@GEM@/External/ISPCTextureCompressor/1.0.0",
|
||||
"description": "ISPC Texture Compressor",
|
||||
"defines": [],
|
||||
"lib_required": "True",
|
||||
"shared_required": "True"
|
||||
}
|
||||
|
||||
@@ -69,7 +69,6 @@ ly_add_target(
|
||||
3rdParty::PVRTexTool
|
||||
3rdParty::squish-ccr
|
||||
3rdParty::tiff
|
||||
3rdParty::ispctexcomp
|
||||
3rdParty::ilmbase
|
||||
Legacy::CryCommon
|
||||
AZ::AzFramework
|
||||
|
||||
+9
@@ -8,3 +8,12 @@
|
||||
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
|
||||
# windows requires the 3rd Party ISPCTexComp library.
|
||||
|
||||
ly_associate_package(PACKAGE_NAME ISPCTexComp-2021.3-rev1-windows TARGETS ISPCTexComp PACKAGE_HASH 324fb051a549bc96571530e63c01e18a4c860db45317734d86276fe27a45f6dd)
|
||||
|
||||
set(LY_BUILD_DEPENDENCIES
|
||||
PUBLIC
|
||||
3rdParty::ISPCTexComp
|
||||
)
|
||||
|
||||
@@ -784,7 +784,7 @@ namespace UnitTest
|
||||
{
|
||||
//source image
|
||||
AZStd::string inputFile;
|
||||
inputFile = "../SamplesProject/Objects/ParticleAssets/ShowRoom/showroom_pipe_blue_001_ddna.tif";
|
||||
inputFile = "../AutomatedTesting/Objects/ParticleAssets/ShowRoom/showroom_pipe_blue_001_ddna.tif";
|
||||
|
||||
IImageObjectPtr srcImage(LoadImageFromFile(inputFile));
|
||||
ImageToProcess imageToProcess(srcImage);
|
||||
@@ -1006,7 +1006,7 @@ namespace UnitTest
|
||||
TEST_F(ImageProcessingTest, DISABLED_TestLoadDdsImage)
|
||||
{
|
||||
IImageObjectPtr originImage, alphaImage;
|
||||
AZStd::string inputFolder = "../SamplesProject/Cache/pc/engineassets/texturemsg/";
|
||||
AZStd::string inputFolder = "../AutomatedTesting/Cache/pc/engineassets/texturemsg/";
|
||||
AZStd::string inputFile;
|
||||
|
||||
inputFile = "E:/Javelin_NWLYDev/dev/Cache/Assets/pc/assets/textures/blend_maps/moss/jav_moss_ddn.dds";
|
||||
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e23d3e16fc73176ba58667b3752597890dc4c00560fd32d66aa1a5346334a32f
|
||||
size 1546240
|
||||
-122
@@ -1,122 +0,0 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (c) 2016-2019, Intel Corporation
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to
|
||||
// deal in the Software without restriction, including without limitation the
|
||||
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
// sell copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
// IN THE SOFTWARE.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
struct rgba_surface
|
||||
{
|
||||
uint8_t* ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride; // in bytes
|
||||
};
|
||||
|
||||
struct bc7_enc_settings
|
||||
{
|
||||
bool mode_selection[4];
|
||||
int refineIterations[8];
|
||||
|
||||
bool skip_mode2;
|
||||
int fastSkipTreshold_mode1;
|
||||
int fastSkipTreshold_mode3;
|
||||
int fastSkipTreshold_mode7;
|
||||
|
||||
int mode45_channel0;
|
||||
int refineIterations_channel;
|
||||
|
||||
int channels;
|
||||
};
|
||||
|
||||
struct bc6h_enc_settings
|
||||
{
|
||||
bool slow_mode;
|
||||
bool fast_mode;
|
||||
int refineIterations_1p;
|
||||
int refineIterations_2p;
|
||||
int fastSkipTreshold;
|
||||
};
|
||||
|
||||
struct etc_enc_settings
|
||||
{
|
||||
int fastSkipTreshold;
|
||||
};
|
||||
|
||||
struct astc_enc_settings
|
||||
{
|
||||
int block_width;
|
||||
int block_height;
|
||||
int channels;
|
||||
|
||||
int fastSkipTreshold;
|
||||
int refineIterations;
|
||||
};
|
||||
|
||||
// profiles for RGB data (alpha channel will be ignored)
|
||||
extern "C" void GetProfile_ultrafast(bc7_enc_settings* settings);
|
||||
extern "C" void GetProfile_veryfast(bc7_enc_settings* settings);
|
||||
extern "C" void GetProfile_fast(bc7_enc_settings* settings);
|
||||
extern "C" void GetProfile_basic(bc7_enc_settings* settings);
|
||||
extern "C" void GetProfile_slow(bc7_enc_settings* settings);
|
||||
|
||||
// profiles for RGBA inputs
|
||||
extern "C" void GetProfile_alpha_ultrafast(bc7_enc_settings* settings);
|
||||
extern "C" void GetProfile_alpha_veryfast(bc7_enc_settings* settings);
|
||||
extern "C" void GetProfile_alpha_fast(bc7_enc_settings* settings);
|
||||
extern "C" void GetProfile_alpha_basic(bc7_enc_settings* settings);
|
||||
extern "C" void GetProfile_alpha_slow(bc7_enc_settings* settings);
|
||||
|
||||
// profiles for BC6H (RGB HDR)
|
||||
extern "C" void GetProfile_bc6h_veryfast(bc6h_enc_settings* settings);
|
||||
extern "C" void GetProfile_bc6h_fast(bc6h_enc_settings* settings);
|
||||
extern "C" void GetProfile_bc6h_basic(bc6h_enc_settings* settings);
|
||||
extern "C" void GetProfile_bc6h_slow(bc6h_enc_settings* settings);
|
||||
extern "C" void GetProfile_bc6h_veryslow(bc6h_enc_settings* settings);
|
||||
|
||||
// profiles for ETC
|
||||
extern "C" void GetProfile_etc_slow(etc_enc_settings* settings);
|
||||
|
||||
// profiles for ASTC
|
||||
extern "C" void GetProfile_astc_fast(astc_enc_settings* settings, int block_width, int block_height);
|
||||
extern "C" void GetProfile_astc_alpha_fast(astc_enc_settings* settings, int block_width, int block_height);
|
||||
extern "C" void GetProfile_astc_alpha_slow(astc_enc_settings* settings, int block_width, int block_height);
|
||||
|
||||
// helper function to replicate border pixels for the desired block sizes (bpp = 32 or 64)
|
||||
extern "C" void ReplicateBorders(rgba_surface* dst_slice, const rgba_surface* src_tex, int x, int y, int bpp);
|
||||
|
||||
/*
|
||||
Notes:
|
||||
- input width and height need to be a multiple of block size
|
||||
- LDR input is 32 bit/pixel (sRGB), HDR is 64 bit/pixel (half float)
|
||||
- dst buffer must be allocated with enough space for the compressed texture:
|
||||
- 8 bytes/block for BC1/ETC1,
|
||||
- 16 bytes/block for BC3/BC6H/BC7/ASTC
|
||||
- the blocks are stored in raster scan order (natural CPU texture layout)
|
||||
- use the GetProfile_* functions to select various speed/quality tradeoffs
|
||||
- the RGB profiles are slightly faster as they ignore the alpha channel
|
||||
*/
|
||||
|
||||
extern "C" void CompressBlocksBC1(const rgba_surface* src, uint8_t* dst);
|
||||
extern "C" void CompressBlocksBC3(const rgba_surface* src, uint8_t* dst);
|
||||
extern "C" void CompressBlocksBC6H(const rgba_surface* src, uint8_t* dst, bc6h_enc_settings* settings);
|
||||
extern "C" void CompressBlocksBC7(const rgba_surface* src, uint8_t* dst, bc7_enc_settings* settings);
|
||||
extern "C" void CompressBlocksETC1(const rgba_surface* src, uint8_t* dst, etc_enc_settings* settings);
|
||||
extern "C" void CompressBlocksASTC(const rgba_surface* src, uint8_t* dst, astc_enc_settings* settings);
|
||||
-111
@@ -1,111 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_context__
|
||||
#define __ISPC_STRUCT_astc_enc_context__
|
||||
struct astc_enc_context {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t channels;
|
||||
bool dual_plane;
|
||||
int32_t partitions;
|
||||
int32_t color_endpoint_pairs;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_settings__
|
||||
#define __ISPC_STRUCT_astc_enc_settings__
|
||||
struct astc_enc_settings {
|
||||
int32_t block_width;
|
||||
int32_t block_height;
|
||||
int32_t channels;
|
||||
int32_t fastSkipTreshold;
|
||||
int32_t refineIterations;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_block__
|
||||
#define __ISPC_STRUCT_astc_block__
|
||||
struct astc_block {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
bool dual_plane;
|
||||
int32_t weight_range;
|
||||
uint8_t weights[64];
|
||||
int32_t color_component_selector;
|
||||
int32_t partitions;
|
||||
int32_t partition_id;
|
||||
int32_t color_endpoint_pairs;
|
||||
int32_t channels;
|
||||
int32_t color_endpoint_modes[4];
|
||||
int32_t endpoint_range;
|
||||
uint8_t endpoints[18];
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void astc_encode_ispc(struct rgba_surface * src, float * block_scores, uint8_t * dst, uint64_t * list, struct astc_enc_context * list_context, struct astc_enc_settings * settings);
|
||||
extern void astc_rank_ispc(struct rgba_surface * src, int32_t xx, int32_t yy, uint32_t * mode_buffer, struct astc_enc_settings * settings);
|
||||
extern int32_t get_programCount();
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
-96
@@ -1,96 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_context__
|
||||
#define __ISPC_STRUCT_astc_enc_context__
|
||||
struct astc_enc_context {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t channels;
|
||||
bool dual_plane;
|
||||
int32_t partitions;
|
||||
int32_t color_endpoint_pairs;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_settings__
|
||||
#define __ISPC_STRUCT_astc_enc_settings__
|
||||
struct astc_enc_settings {
|
||||
int32_t block_width;
|
||||
int32_t block_height;
|
||||
int32_t channels;
|
||||
int32_t fastSkipTreshold;
|
||||
int32_t refineIterations;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_block__
|
||||
#define __ISPC_STRUCT_astc_block__
|
||||
struct astc_block {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
bool dual_plane;
|
||||
int32_t weight_range;
|
||||
uint8_t weights[64];
|
||||
int32_t color_component_selector;
|
||||
int32_t partitions;
|
||||
int32_t partition_id;
|
||||
int32_t color_endpoint_pairs;
|
||||
int32_t channels;
|
||||
int32_t color_endpoint_modes[4];
|
||||
int32_t endpoint_range;
|
||||
uint8_t endpoints[18];
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void astc_encode_ispc(struct rgba_surface * src, float * block_scores, uint8_t * dst, uint64_t * list, struct astc_enc_context * list_context, struct astc_enc_settings * settings);
|
||||
extern void astc_rank_ispc(struct rgba_surface * src, int32_t xx, int32_t yy, uint32_t * mode_buffer, struct astc_enc_settings * settings);
|
||||
extern int32_t get_programCount();
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
-96
@@ -1,96 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_context__
|
||||
#define __ISPC_STRUCT_astc_enc_context__
|
||||
struct astc_enc_context {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t channels;
|
||||
bool dual_plane;
|
||||
int32_t partitions;
|
||||
int32_t color_endpoint_pairs;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_settings__
|
||||
#define __ISPC_STRUCT_astc_enc_settings__
|
||||
struct astc_enc_settings {
|
||||
int32_t block_width;
|
||||
int32_t block_height;
|
||||
int32_t channels;
|
||||
int32_t fastSkipTreshold;
|
||||
int32_t refineIterations;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_block__
|
||||
#define __ISPC_STRUCT_astc_block__
|
||||
struct astc_block {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
bool dual_plane;
|
||||
int32_t weight_range;
|
||||
uint8_t weights[64];
|
||||
int32_t color_component_selector;
|
||||
int32_t partitions;
|
||||
int32_t partition_id;
|
||||
int32_t color_endpoint_pairs;
|
||||
int32_t channels;
|
||||
int32_t color_endpoint_modes[4];
|
||||
int32_t endpoint_range;
|
||||
uint8_t endpoints[18];
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void astc_encode_ispc(struct rgba_surface * src, float * block_scores, uint8_t * dst, uint64_t * list, struct astc_enc_context * list_context, struct astc_enc_settings * settings);
|
||||
extern void astc_rank_ispc(struct rgba_surface * src, int32_t xx, int32_t yy, uint32_t * mode_buffer, struct astc_enc_settings * settings);
|
||||
extern int32_t get_programCount();
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
-96
@@ -1,96 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_context__
|
||||
#define __ISPC_STRUCT_astc_enc_context__
|
||||
struct astc_enc_context {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t channels;
|
||||
bool dual_plane;
|
||||
int32_t partitions;
|
||||
int32_t color_endpoint_pairs;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_settings__
|
||||
#define __ISPC_STRUCT_astc_enc_settings__
|
||||
struct astc_enc_settings {
|
||||
int32_t block_width;
|
||||
int32_t block_height;
|
||||
int32_t channels;
|
||||
int32_t fastSkipTreshold;
|
||||
int32_t refineIterations;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_block__
|
||||
#define __ISPC_STRUCT_astc_block__
|
||||
struct astc_block {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
bool dual_plane;
|
||||
int32_t weight_range;
|
||||
uint8_t weights[64];
|
||||
int32_t color_component_selector;
|
||||
int32_t partitions;
|
||||
int32_t partition_id;
|
||||
int32_t color_endpoint_pairs;
|
||||
int32_t channels;
|
||||
int32_t color_endpoint_modes[4];
|
||||
int32_t endpoint_range;
|
||||
uint8_t endpoints[18];
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void astc_encode_ispc(struct rgba_surface * src, float * block_scores, uint8_t * dst, uint64_t * list, struct astc_enc_context * list_context, struct astc_enc_settings * settings);
|
||||
extern void astc_rank_ispc(struct rgba_surface * src, int32_t xx, int32_t yy, uint32_t * mode_buffer, struct astc_enc_settings * settings);
|
||||
extern int32_t get_programCount();
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
-96
@@ -1,96 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_context__
|
||||
#define __ISPC_STRUCT_astc_enc_context__
|
||||
struct astc_enc_context {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t channels;
|
||||
bool dual_plane;
|
||||
int32_t partitions;
|
||||
int32_t color_endpoint_pairs;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_enc_settings__
|
||||
#define __ISPC_STRUCT_astc_enc_settings__
|
||||
struct astc_enc_settings {
|
||||
int32_t block_width;
|
||||
int32_t block_height;
|
||||
int32_t channels;
|
||||
int32_t fastSkipTreshold;
|
||||
int32_t refineIterations;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_astc_block__
|
||||
#define __ISPC_STRUCT_astc_block__
|
||||
struct astc_block {
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
bool dual_plane;
|
||||
int32_t weight_range;
|
||||
uint8_t weights[64];
|
||||
int32_t color_component_selector;
|
||||
int32_t partitions;
|
||||
int32_t partition_id;
|
||||
int32_t color_endpoint_pairs;
|
||||
int32_t channels;
|
||||
int32_t color_endpoint_modes[4];
|
||||
int32_t endpoint_range;
|
||||
uint8_t endpoints[18];
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void astc_encode_ispc(struct rgba_surface * src, float * block_scores, uint8_t * dst, uint64_t * list, struct astc_enc_context * list_context, struct astc_enc_settings * settings);
|
||||
extern void astc_rank_ispc(struct rgba_surface * src, int32_t xx, int32_t yy, uint32_t * mode_buffer, struct astc_enc_settings * settings);
|
||||
extern int32_t get_programCount();
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
-104
@@ -1,104 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc6h_enc_settings__
|
||||
#define __ISPC_STRUCT_bc6h_enc_settings__
|
||||
struct bc6h_enc_settings {
|
||||
bool slow_mode;
|
||||
bool fast_mode;
|
||||
int32_t refineIterations_1p;
|
||||
int32_t refineIterations_2p;
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc7_enc_settings__
|
||||
#define __ISPC_STRUCT_bc7_enc_settings__
|
||||
struct bc7_enc_settings {
|
||||
bool mode_selection[4];
|
||||
int32_t refineIterations[8];
|
||||
bool skip_mode2;
|
||||
int32_t fastSkipTreshold_mode1;
|
||||
int32_t fastSkipTreshold_mode3;
|
||||
int32_t fastSkipTreshold_mode7;
|
||||
int32_t mode45_channel0;
|
||||
int32_t refineIterations_channel;
|
||||
int32_t channels;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_etc_enc_settings__
|
||||
#define __ISPC_STRUCT_etc_enc_settings__
|
||||
struct etc_enc_settings {
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void CompressBlocksBC1_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC3_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC6H_ispc(struct rgba_surface * src, uint8_t * dst, struct bc6h_enc_settings * settings);
|
||||
extern void CompressBlocksBC7_ispc(struct rgba_surface * src, uint8_t * dst, struct bc7_enc_settings * settings);
|
||||
extern void CompressBlocksETC1_ispc(struct rgba_surface * src, uint8_t * dst, struct etc_enc_settings * settings);
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
-89
@@ -1,89 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc6h_enc_settings__
|
||||
#define __ISPC_STRUCT_bc6h_enc_settings__
|
||||
struct bc6h_enc_settings {
|
||||
bool slow_mode;
|
||||
bool fast_mode;
|
||||
int32_t refineIterations_1p;
|
||||
int32_t refineIterations_2p;
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc7_enc_settings__
|
||||
#define __ISPC_STRUCT_bc7_enc_settings__
|
||||
struct bc7_enc_settings {
|
||||
bool mode_selection[4];
|
||||
int32_t refineIterations[8];
|
||||
bool skip_mode2;
|
||||
int32_t fastSkipTreshold_mode1;
|
||||
int32_t fastSkipTreshold_mode3;
|
||||
int32_t fastSkipTreshold_mode7;
|
||||
int32_t mode45_channel0;
|
||||
int32_t refineIterations_channel;
|
||||
int32_t channels;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_etc_enc_settings__
|
||||
#define __ISPC_STRUCT_etc_enc_settings__
|
||||
struct etc_enc_settings {
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void CompressBlocksBC1_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC3_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC6H_ispc(struct rgba_surface * src, uint8_t * dst, struct bc6h_enc_settings * settings);
|
||||
extern void CompressBlocksBC7_ispc(struct rgba_surface * src, uint8_t * dst, struct bc7_enc_settings * settings);
|
||||
extern void CompressBlocksETC1_ispc(struct rgba_surface * src, uint8_t * dst, struct etc_enc_settings * settings);
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
-89
@@ -1,89 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc6h_enc_settings__
|
||||
#define __ISPC_STRUCT_bc6h_enc_settings__
|
||||
struct bc6h_enc_settings {
|
||||
bool slow_mode;
|
||||
bool fast_mode;
|
||||
int32_t refineIterations_1p;
|
||||
int32_t refineIterations_2p;
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc7_enc_settings__
|
||||
#define __ISPC_STRUCT_bc7_enc_settings__
|
||||
struct bc7_enc_settings {
|
||||
bool mode_selection[4];
|
||||
int32_t refineIterations[8];
|
||||
bool skip_mode2;
|
||||
int32_t fastSkipTreshold_mode1;
|
||||
int32_t fastSkipTreshold_mode3;
|
||||
int32_t fastSkipTreshold_mode7;
|
||||
int32_t mode45_channel0;
|
||||
int32_t refineIterations_channel;
|
||||
int32_t channels;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_etc_enc_settings__
|
||||
#define __ISPC_STRUCT_etc_enc_settings__
|
||||
struct etc_enc_settings {
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void CompressBlocksBC1_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC3_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC6H_ispc(struct rgba_surface * src, uint8_t * dst, struct bc6h_enc_settings * settings);
|
||||
extern void CompressBlocksBC7_ispc(struct rgba_surface * src, uint8_t * dst, struct bc7_enc_settings * settings);
|
||||
extern void CompressBlocksETC1_ispc(struct rgba_surface * src, uint8_t * dst, struct etc_enc_settings * settings);
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
-89
@@ -1,89 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc6h_enc_settings__
|
||||
#define __ISPC_STRUCT_bc6h_enc_settings__
|
||||
struct bc6h_enc_settings {
|
||||
bool slow_mode;
|
||||
bool fast_mode;
|
||||
int32_t refineIterations_1p;
|
||||
int32_t refineIterations_2p;
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc7_enc_settings__
|
||||
#define __ISPC_STRUCT_bc7_enc_settings__
|
||||
struct bc7_enc_settings {
|
||||
bool mode_selection[4];
|
||||
int32_t refineIterations[8];
|
||||
bool skip_mode2;
|
||||
int32_t fastSkipTreshold_mode1;
|
||||
int32_t fastSkipTreshold_mode3;
|
||||
int32_t fastSkipTreshold_mode7;
|
||||
int32_t mode45_channel0;
|
||||
int32_t refineIterations_channel;
|
||||
int32_t channels;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_etc_enc_settings__
|
||||
#define __ISPC_STRUCT_etc_enc_settings__
|
||||
struct etc_enc_settings {
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void CompressBlocksBC1_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC3_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC6H_ispc(struct rgba_surface * src, uint8_t * dst, struct bc6h_enc_settings * settings);
|
||||
extern void CompressBlocksBC7_ispc(struct rgba_surface * src, uint8_t * dst, struct bc7_enc_settings * settings);
|
||||
extern void CompressBlocksETC1_ispc(struct rgba_surface * src, uint8_t * dst, struct etc_enc_settings * settings);
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
-89
@@ -1,89 +0,0 @@
|
||||
//
|
||||
// (Header automatically generated by the ispc compiler.)
|
||||
// DO NOT EDIT THIS FILE.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace ispc { /* namespace */
|
||||
#endif // __cplusplus
|
||||
|
||||
#ifndef __ISPC_ALIGN__
|
||||
#if defined(__clang__) || !defined(_MSC_VER)
|
||||
// Clang, GCC, ICC
|
||||
#define __ISPC_ALIGN__(s) __attribute__((aligned(s)))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) struct __ISPC_ALIGN__(s)
|
||||
#else
|
||||
// Visual Studio
|
||||
#define __ISPC_ALIGN__(s) __declspec(align(s))
|
||||
#define __ISPC_ALIGNED_STRUCT__(s) __ISPC_ALIGN__(s) struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_rgba_surface__
|
||||
#define __ISPC_STRUCT_rgba_surface__
|
||||
struct rgba_surface {
|
||||
uint8_t * ptr;
|
||||
int32_t width;
|
||||
int32_t height;
|
||||
int32_t stride;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc6h_enc_settings__
|
||||
#define __ISPC_STRUCT_bc6h_enc_settings__
|
||||
struct bc6h_enc_settings {
|
||||
bool slow_mode;
|
||||
bool fast_mode;
|
||||
int32_t refineIterations_1p;
|
||||
int32_t refineIterations_2p;
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_bc7_enc_settings__
|
||||
#define __ISPC_STRUCT_bc7_enc_settings__
|
||||
struct bc7_enc_settings {
|
||||
bool mode_selection[4];
|
||||
int32_t refineIterations[8];
|
||||
bool skip_mode2;
|
||||
int32_t fastSkipTreshold_mode1;
|
||||
int32_t fastSkipTreshold_mode3;
|
||||
int32_t fastSkipTreshold_mode7;
|
||||
int32_t mode45_channel0;
|
||||
int32_t refineIterations_channel;
|
||||
int32_t channels;
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef __ISPC_STRUCT_etc_enc_settings__
|
||||
#define __ISPC_STRUCT_etc_enc_settings__
|
||||
struct etc_enc_settings {
|
||||
int32_t fastSkipTreshold;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Functions exported from ispc code
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
extern void CompressBlocksBC1_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC3_ispc(struct rgba_surface * src, uint8_t * dst);
|
||||
extern void CompressBlocksBC6H_ispc(struct rgba_surface * src, uint8_t * dst, struct bc6h_enc_settings * settings);
|
||||
extern void CompressBlocksBC7_ispc(struct rgba_surface * src, uint8_t * dst, struct bc7_enc_settings * settings);
|
||||
extern void CompressBlocksETC1_ispc(struct rgba_surface * src, uint8_t * dst, struct etc_enc_settings * settings);
|
||||
#if defined(__cplusplus) && (! defined(__ISPC_NO_EXTERN_C) || !__ISPC_NO_EXTERN_C )
|
||||
} /* end extern C */
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* namespace */
|
||||
#endif // __cplusplus
|
||||
Vendored
-3686
File diff suppressed because it is too large
Load Diff
Vendored
-2202
File diff suppressed because it is too large
Load Diff
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3cfef8964d6723c26e4a6c4a4e46278a6e2a5bccefc3185750c824358e471dd2
|
||||
size 7666
|
||||
Reference in New Issue
Block a user