Heat the oven to 350 F.
Grease and flour three 9-inch round layer cake pans.
In a large mixing bowl with electric mixer, beat 1/2 cup of butter with the shortening and 2 cups of granulated sugar until light and fluffy. Beat in the egg yolks.
In another bowl, combine the flour, salt, and baking soda; stir to blend thoroughly.
In a small bowl or cup, combine the buttermilk and vanilla.
Add the flour mixture to the creamed mixture, alternating with the buttermilk and vanilla mixture. Stir in the coconut and 1 cup of finely chopped pecans.
Using a clean bowl and beaters, beat the egg whites until soft peaks form. Fold into the cake batter.
Divide the batter evenly among the 3 prepared layer cake pans and spread with a spatula.
Bake the cake layers for about 25 minutes, or until the cake springs back when lightly touched with a finger. A toothpick will come out clean when inserted into the center of a cake.
Cool in pans on a rack for 10 minutes. Carefully remove the pans and Cool completely.
Fill and frost with the cream cheese frosting below.