Skip to content

Hitting an assert on Apple M1 #23

Description

@Seb-degraff

Hi,

When compiling and running bc7e.ispc on a computer with an apple M1 cpu, I consistently hit this assert.
bc7e.ispc:2890:2: Assertion failed: *pCur_ofs <= 128

Compiling with assertions disabled produces wrong/corrupted compressed images.

I tried compiling on an intel machine with sse or/and avx and it works as expected, so my guess is the problem is only the neon target.

This is how I compiled bc7e.ispc for the M1:
./ispc -g bc7e.ispc -o bc7e.obj -h bc7e_ispc.h --target=neon --arch=aarch64

This is a callstack of when the assert hits:

set_block_bits___vy_3C_unT_3E_vyuvyuun_3C_vyu_3E_ (bc7enc_rdo-master/bc7e.ispc:2890)
encode_bc7_block___vy_3C_unv_3E_un_3C_s_5B__c_vybc7_optimization_results_5D__3E_ (bc7enc_rdo-master/bc7e.ispc:3086)
handle_alpha_block___vy_3C_unv_3E_un_3C_s_5B__c_vycolor_quad_i_5D__3E_un_3C_s_5B__c_unbc7e_compress_block_params_5D__3E_un_3C_s_5B_uncolor_cell_compressor_params_5D__3E_vyuvyu (bc7enc_rdo-master/bc7e.ispc:3906)
bc7e_compress_blocks (bc7enc_rdo-master/bc7e.ispc:4741)
main (bc7enc_rdo-master/test.c:79)

And in this case the value of pCur_ofs was (82, 82, 130, 82)

I’m not familiar with either ISPC or texture compression, so I would appreciate any help or insight on how to debug this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions